Ich habe ein Array Werte aus einem Array zu entfernen, die numerische oder assoziative Schlüssel oder beides enthalten:Wie während Umnummerierung Zifferntasten
$x = array('a', 'b', 'c', 'foo' => 'bar', 'd', 'e');
print_r($x);
/*(
[0] => a
[1] => b
[2] => c
[foo] => bar
[3] => d
[4] => e
)*/
Ich möchte in der Lage, ein Element aus dem Array zu entfernen, Umnummerierung die nicht-assoziativen Schlüssel, sie zu halten sequenziellen:
$x = remove($x, "c");
print_r($x);
/* desired output:
(
[0] => a
[1] => b
[foo] => bar
[2] => d
[3] => e
)*/
das richtige Element zu finden, ist zu entfernen, kein Problem, es der Schlüssel ist, dass das Problem ist. unset
nicht die Schlüssel neu nummeriert, und array_splice
arbeitet auf einem offset, anstelle eines Schlüssels (dh: nehmen $ x aus dem ersten Beispiel, array_splice($x, 3, 1)
würde das "bar" -Element anstelle des "d" -Elements entfernen).
Dies entfernt alle nicht -numerische Schlüssel. Bitte lesen Sie die ursprüngliche Frage erneut. – nickf