Удаление определенного объекта при помощи array_splice/array_slice в PHP

Как я удаляю определенный объект при помощи array_splice/array_slice в PHP?

например: массив ('b', 'c'); как просто удалить 'b'? таким образом, массив остается: массив ('c');

Спасибо

6
задан lovespring 12 April 2010 в 14:36
поделиться

4 ответа

Basically: Просто сделайте это.

В руководстве есть хорошие примеры, как этот:

$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input is now array("red", "green")

Если у вас что-то не получается, пожалуйста, добавьте больше деталей к вашему вопросу.

4
ответ дан 8 December 2019 в 13:45
поделиться

Это должно быть 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]);
}
1
ответ дан 8 December 2019 в 13:45
поделиться

как просто удалить "синий"?

Итак:

$input = array("red", "green", "blue", "yellow");
array_splice($input, array_search('blue', $input), 1);
4
ответ дан 8 December 2019 в 13:45
поделиться

Начиная с (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 даст вам массив, который будет таким же, как входной массив, но без конкретного элемента.

Вы, вероятно, можете сделать это, используя только одну строку, но я оставлю это как упражнение для читателей.

1
ответ дан 8 December 2019 в 13:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: