2016-08-03 36 views
-1

Hi was ist der unterschied zwischen array_shift und unset im assoziativen array?php array_shift vs unset im assoziativen array

Ich verstehe, wie in einem normalen Array, wenn Sie array_shift verwenden, der Schlüssel immer noch da ist und nur der erste Wert verschwindet, aber in assoziativen Array, sehe ich keinen Unterschied zwischen array_shift und unset.

unter dem Codebeispiel ist:

$a=array("a"=>"red","b"=>"green","c"=>"blue"); 
    $key=key($a); 
    unset($a[$key]); 
    print_r ($a); 

    //result: Array ([b] => green [c] => blue) 

    $b=array("a"=>"red","b"=>"green","c"=>"blue"); 
    array_shift($b); 
    print_r ($b); 

    //result: Array ([b] => green [c] => blue) 
+1

'array_shift()' ist speziell für * shifting * das Element vom Anfang des Arrays, und es zurückgeben. 'unset()' * löscht * eine Variable. Lesen Sie die Dokumentation - http://php.net/manual/en/function.array-shift.php - http://php.net/manual/en/function.unset.php – billyonecan

+0

Sie haben Recht, beide Versionen erreichen die selben Dinge. Manchmal gibt es mehrere Möglichkeiten, ein Ergebnis zu erzielen. – Jonny

Antwort

1

array_shift den Kopf des Arrays (in diesem Fall Eintrag "a")

während unset zurückkehren wird ein Element durch seine Schlüssel entfernen, sagen unset($a['b']) wird Sie verlassen mit Array ([a] => red [c] => blue)