Friday, 4 June 2021

PHP remove item from array

https://stackoverflow.com/questions/369602/deleting-an-element-from-an-array-in-php 

unset

unset will not shuffle index of array

unset()

Note that when you use unset() the array keys won’t change. If you want to reindex the keys you can use \array_values() after unset(), which will convert all keys to numerically enumerated keys starting from 0.

Code:

$array = [0 => "a", 1 => "b", 2 => "c"];
unset($array[1]);
          // ↑ Key which you want to delete

Output:

[
    [0] => a
    [2] => c
]

array_splice  automatically re-index  array, and calling it alone changes the original array, it retuns removed array
https://www.php.net/manual/en/function.array-splice.php

\array_splice() method

If you use \array_splice() the keys will automatically be reindexed, but the associative keys won’t change — as opposed to \array_values(), which will convert all keys to numerical keys.

\array_splice() needs the offset, not the key, as the second parameter.

Code:

$array = [0 => "a", 1 => "b", 2 => "c"];
\array_splice($array, 1, 1);
                   // ↑ Offset which you want to delete

Output:

[
    [0] => a
    [1] => c
]

No comments:

Post a Comment