Как я удаляю определенный объект при помощи array_splice
/array_slice
в PHP?
например: массив ('b', 'c'); как просто удалить 'b'? таким образом, массив остается: массив ('c');
Спасибо
Basically: Просто сделайте это.
В руководстве есть хорошие примеры, как этот:
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")
Если у вас что-то не получается, пожалуйста, добавьте больше деталей к вашему вопросу.
Это должно быть array_splice
? Я думаю, что наиболее подходящим способом (возможно, в зависимости от размера массива, я не знаю, насколько хорошо array_search
масштабируется) является использование array_search ()
с unset ()
:
$array = array('foo', 'bar' => 'baz', 'bla', 5 => 'blubb');
// want to delete 'baz'
if(($key = array_search('baz', $array)) !== FALSE) {
unset($array[$key]);
}
как просто удалить "синий"?
Итак:
$input = array("red", "green", "blue", "yellow");
array_splice($input, array_search('blue', $input), 1);
Начиная с (id - элемент, который вы хотите удалить):
$input = array("a", "b", "c", "d", "e");
$id=2;
array splice:
$a1 = array_slice($input, $id);
print_r($a1);
Array
(
[0] => c
[1] => d
[2] => e
)
array slice:
array_splice($input, $id-1);
print_r($input);
Array
(
[0] => a
)
Слияние splice и slice даст вам массив, который будет таким же, как входной массив, но без конкретного элемента.
Вы, вероятно, можете сделать это, используя только одну строку, но я оставлю это как упражнение для читателей.