Как удалить определенное значение в array_map в php - PullRequest
0 голосов
/ 23 ноября 2018

Здесь, под моим примером array_map,

$page_names = ArrayHelper::map($pagesList['data'], 'id', 'name');

Здесь, под моим выводом array_map,

Array
(
[2042793285968] => YoungZen Technologies
[777607709013] => Challengers
[772593172886] => Vadavalli
[152429224945] => Time Pass
)

Теперь я хочу удалить «Претенденты» в приведенном выше списке, и я должен использоватьта же самая переменная $ page_names для выпадающего списка без претендентов.

Я не хорош в концепции массива, я пробовал как array_filter и in_array, что не происходит.

Ответы [ 3 ]

0 голосов
/ 23 ноября 2018

Или вы можете отфильтровать его -

$arr = array_filter($arr, function($v) {
    return $v != 'Challengers'; // return true if value not 'Cha...'
});

array_filter ()

0 голосов
/ 23 ноября 2018

решение с использованием array_diff

$page_names = array_diff($page_names, ['Challengers']);
0 голосов
/ 23 ноября 2018

Вот один из вариантов:

unset($page_names[array_search('Challengers', $page_names)]);

Чтобы разбить здесь логику, сначала мы вызываем array_search со значением , которое вы хотите идентифицировать в своем ассоциированном массиве.array_search вернет первый ключ, соответствующий этому значению, если значение может быть найдено.

Затем мы используем unset, передавая соответствующий ключ, чтобы полностью удалить эту пару ключ / значение из массива.

Чтобы удалить запись с карты с помощью ключа, код гораздо проще:

unset($page_names[777607709013]);
...