Поэтому мне нужно удалить некоторые элементы массива, есть ли простой способ, не включающий цикл foreach?
$privateData = ['id', 'date', 'whatever']; foreach($privateData as $privateField) { unset($request[$privateField]); }
Я попытался найти функции array_map array_walk для примеров, но я не нашел их.
$result = array_diff_key($request, array_flip(['id', 'date', 'whatever']));
Вот как вы это делаете, используя array_map
:
array_map(function($privateField) use ($request) { unset($request[$privateField]); }, $privateData);
сarray_map(function($privateField) use ($request) { unset($request[$privateField]); }, $privateData);
Вам нужно использовать опцию use
для доступа к $request
из внешней области.
Я не знаю, почему ты хочешь это сделать. Цикл foreach
намного яснее. Но так как ты спросил.