Удаление элемента ассоциативного двумерного массива по известному ключу
Вывод двумерного ассоциативного массива
Доброго времени суток! Имеется в наличии следующий массив: public $goods = array( "IPhone.

Сложение данных двумерного ассоциативного массива
Здравствуйте! Подскажите пожалуйста как реализовать задачу, какими функциями пользоваться. Если.
обявление двумерного ассоциативного массива и работа с ним
как сделать как написано в subj или посоветуйте доку где про это толково написано

Словари / удаление элемента из списка по ключу
Имеется словарь: a = Как удалить "two"?
1112 / 554 / 319
Регистрация: 21.06.2012
Сообщений: 1,854
1 2 3 4 5
foreach($a as $key => $x_value){ if($x_value['name'] == "Сидоров"){ unset($a[$key]); } }
Регистрация: 08.12.2019
Сообщений: 10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
function delete_sidorov(array $data){ foreach($data as $key => $item){ if($item['name'] == 'Сидоров'){ unset($data[$key]); } } return $data; } $a = array( array( 'name' => 'Сидоров', 'specialty' => 'техник' ), array ( 'name' => 'Петров', 'specialty' => 'тракторист' ), array( 'name' => 'Иванов', 'speciality' => 'фермер' ) ); $result = delete_sidorov($a); var_dump($result);
Почетный модератор
![]()
![]()
16843 / 6722 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
Когда нефиг делать.. Да здравствуют некропостеры, ехуу!
функция-однодневка. Сделайте хоть параметризированное удаление ключа по значению, что-ли..
1 2 3 4 5 6 7 8 9 10 11 12 13
function deleteKey(array $data, $searchKey, $searchValue) { foreach($data as $key => $item) { if(array_key_exists($searchKey, $item) && $item[$searchKey] == $searchValue) unset($data[$key]); } return $data; } $searchKey = 'name'; $searchValue = 'Сидоров'; $result = deleteKey($a, $searchKey, $searchValue); var_dump($result);
Хотя подобные операции, все же, чаще делаются по другому — через фильтрацию массива. Например, тоже самое можно сделать так:
1 2 3 4 5 6
$searchKey = 'name'; $searchValue = 'Сидоров'; $result = array_filter($a, function($item) use($searchKey, $searchValue) { return $item[$searchKey] != $searchValue; }); var_dump($result);
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Двусвязный список. Удаление элемента по ключу
Привет, товарищи-форумчане. Нужно построить двусвязный список из фамилий. Оставить в нем только.
Реализация хеш-таблицы через список, удаление элемента по ключу
Type Hash = ^PHash; PHash = record Data: integer; Next:hash; End; //Объявление таблицы.

Сравнение ключа элемента ассоциативного массива со значением из инпута
Здравствуйте. Есть ассоциативный массив — числовой словарь. Элементы массива случайным образом.
Удаление из двумерного массива
создаю двумерный массив таким образом <script type="text/javascript"> function.
Удаление двумерного массива
Доброго времени суток! Подскажите пожалуйста, как правильно удалить двумерный массив, созданный.
Посчитать количество элементов двумерного массива, стоящих до максимального элемента этого массива
Посчитать количество элементов двумерного массива, стоящих до максимального элемента этого массива.
Как можно удалить элемент из array_map?

Очередной эстет блин.
Потом разгребай за такими код.
Что здесь «некарасивого»?
Ты не на вернисаж пришел.
Код должен быть не «красивым», а делать что нужно, быть эффективным и читабельным.
Явный цикл с явным условием — это кинтэссениция читабельности, любой, кто его увидит, сразу поймет что он делает.
Если глаза прямо не могут смотреть на 4 строчки — сделай функцию. Нормальную функцию, которая вызывается в 4 слова, а не через хитрую вложенную конструкцию с подвыподвертом, которую тебе уже тут советуют
Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- PHP
- +1 ещё
Как из разных word документов собрать все таблицы (средствами PHPOffice/PHPWord) с заданным названием и сохранить в один файл?
- 1 подписчик
- 26 минут назад
- 14 просмотров
Удаление элемента массива по значению (не по ключу)
Дата: 20 июля 2011
49557
8
Очень часто при разработке веб-приложений требуется удалить элемент массива. Обычно это делается так:
$array = array('name' => 'Иван', 'lastname' => 'Шамшур','site' => 'http://biznesguide.ru'); unset($array['name']);
В данном примере мы удаляем элемент массива с ключом name.
Но иногда бывают такие ситуации, когда нам известно лишь значение массива, а не его ключ. Как быть в такой ситуации?
Как удалить элемент массива по значению?
Ответ на самом деле прост. Делается это так:
$array = array(‘name’ => ‘Иван’, ‘lastname’ => ‘Шамшур’,’site’ => ‘http://biznesguide.ru’); if(($key = array_search(‘http://biznesguide.ru’,$array)) !== FALSE)
Функция array_search() — ищет в массиве заданное значение и возвращает соответствующий ключ, в случае успеха. Если значение не найдено возвращает FALSE.
Используя эту функцию, узнаем ключ массива, и затем обычным способом удаляем элемент массива при помощи функции unset().
Надеюсь данный материал был Вам полезен! Успехов!
Как удалить массив в PHP?

В этом уроке вы не только узнаете, как удалить массив PHP, но и как удалить один или несколько элементов массива разными способами. Начнем с простого:
- Для того, чтобы удалить один из элементов массива, воспользуемся функцией unset():
unset($array); unset($array['foo']);
- Для удаления нескольких непоследовательных элементов также пригодится функция unset():
unset($array, $array); unset($array['foo'], $array['bar']);
- Для удаления нескольких последовательных элементов используйте функцию array_splice():
array_splice($array, $offset, $length);
- Для того, чтобы удалить массив полностью, необходимо воспользоваться той же функцией UnSet(), аргументом которой будет сам удаляемый массив. Вот пример удаления массива:
PHP UnSet array
"; $array[0] = 0; $array[1] = 1; $array[2] = 2; $array[3] = 3; $arrayCount = count($array); echo "array count = "; echo $arrayCount; echo "
"; for($inn = 0; $inn < $arrayCount; $inn++) < echo "array["; echo $inn; echo "] = "; echo "$array[$inn]
"; > echo "
"; UnSet($array); $arrayCount = count($array); echo "array count after UnSet brush: php; title: ; notranslate" title="">$array = $array['foo'] = '';
Есть логическое отличие между использованием функции unset() и присваиванием элементу пустой строки (»). В первом случае говорится: «Этого элемента больше не существует», а во втором – «Этот элемент еще существует, но его значение равно пустой строке».
После применения функции unset() к какому-либо элементу массива, PHP корректирует его так, чтобы цикл продолжал правильно работать. Он не сжимает массив для заполнения пустого пространства, поэтому, можно утверждать, что все массивы являются ассоциативными, даже если кажутся числовыми. Например:
// создаем "нумерованный" массив $animals = array('ant', 'bee', 'cat', 'dog', 'elk', 'fox'); print $animals; // печатает 'bee' print $animals; // печатает 'cat' count($animals); // возвращает 6 // unset() unset($animals); // удаляет элемент $animals = 'bee' print $animals; // печатает '' и выдает ошибку E_NOTICE print $animals; // все еще печатает 'cat' count($animals); // возвращает 5, даже если $array равно 'fox' // add new element $animals[] = 'gnu'; // добавляем новый элемент (не в Unix) print $animals; // печатает '', все еще пустая print $animals; // печатает 'gnu', где 'gnu' заканчивается count($animals); // возвращает 6 // присваиваем '' $animals = ''; // нулевое выходное значение print $animals; // печатает '' count($animals); // возвращаем 6, счетчик не уменьшается
Используем функцию array_values(), для того, чтобы сжать массив до плотно заполненного числового массива:
$animals = array_values($animals);
Функция array_splice() автоматически реиндексирует массив, чтобы не оставлять «дыр»:
// создаем "числовой" массив $animals = array('ant', 'bee', 'cat', 'dog', 'elk', 'fox'); array_splice($animals, 2, 2); print_r($animals); Array ( [0] => ant => bee => elk => fox )
Это полезно, если работать с массивом как с очередью, разрешая произвольный доступ. Для безопасного удаления первого или последнего элемента массива применяются функции array_shift() и array_pop()
