Как я могу найти и удалить элемент массива в PHP? - PullRequest
1 голос
/ 15 сентября 2009

У меня есть массив PHP, который выглядит следующим образом:

Array
(
 [0] => Array
 (
  [start] => DateTime Object
  (
  )

  [end] => DateTime Object
  (
  )

  [comment] => A comment.
 )

 [1] => Array
 (
  [start] => DateTime Object
  (
  )

  [end] => DateTime Object
  (
  )

  [comment] => Another comment.
 )
)

Я хотел бы создать функцию, которая удаляет элемент (начало, конец, комментарий) из массива, который соответствует входу функции, и возвращает false, если он не существует. Уже есть функция PHP, которая делает это?

Ответы [ 2 ]

6 голосов
/ 15 сентября 2009

Полагаю, вы имеете в виду array_search():

while (($pos = array_search($input, $multiArray)) !== false) {
    unset($multiArray[$pos]);
}
2 голосов
/ 15 сентября 2009

Не совсем. Вы могли бы сделать:

function array_remove(&$array, $search, $strict = false) { 
    $keys = array_keys($array, $search, $strict);
    if(!$keys)
        return false;
    foreach($keys as $key)
        unset($array[$key]);
    return count($keys);
}

В отличие от использования array_search(), это будет работать при наличии нескольких совпадающих записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...