PHP многомерный массив не установлен

У меня есть многомерный массив структуры:

$_SESSION['array'] = array(1=>array("surname"=>"foofoo", "name"=>"foo"),2=> .... so on);

Я хочу удалить запись, если фамилия соответствует заданной переменной, например

$surname = "foofoo";

функция должна искать во всех массивах, если $ фамилия была найдена, удалить этот массив

Я попытался посмотреть на некоторые ответы, такие как ответ на Вот а также Вот но я не мог понять их ясно, может кто-то показать ясный метод вместе с некоторыми хорошими объяснениями и, если возможно, ссылки на некоторые документы для чтения?

1

Решение

Это должно работать для вас:

(В этом коде я иду через каждый innerArray и каждое значение & ключ от внутреннего массива. Затем я просто проверяю, правильный ли это ключ с правильным значением. Если условие истинно, я сбрасываю весь массив)

<?php

$_SESSION['array']= array(1=>array("surname"=>"foofoo", "name"=>"foo"), 2=>array("surname"=>"foofoo2", "name"=>"foo2"));

foreach($_SESSION['array']as $innerArrayKey => $innerArray) {

foreach($innerArray as $k => $v) {
if($k == "surname" && $v == "foofoo")
unset($_SESSION['array'][$innerArrayKey]);
}

}

print_r($array);

?>

Выход:

Array ( [2] => Array ( [surname] => foofoo2 [name] => foo2 ) )
1

Другие решения

Других решений пока нет …