какой функцией для работы с массивами можно заменить foreach в таком коде
$users = array(
array(
'login' => 'test',
'pass' => 'aaa',
'email' => 'test@aaa'
),
array(
'login' => 'admin',
'pass' => 'aaa',
'email' => 'admin@aaa'
),
);
$login_exist = false;
foreach ($users as $val) {
if ($val['login'] === $login) {
$login_exist = true;
break;
}
}
Можно так:
$login = 'test';
print_r(in_array($login, array_column($users, 'login')));
http://sandbox.onlinephpfunctions.com/code/ab8dfbba5d6af384347b145e19aa8e25fd01e88c
Но я считаю, что проще одним циклом. Потому что в схеме выше будет аж два цикла. Но зато кода меньше
Можно вот так:
$needle = 'qwe';
$result = !empty(array_filter($users,
function ($innerArray) use ($needle)
{
return ($innerArray['login'] == $needle);
}));
var_dump((bool)$result);
Пример.
Взято отсюда.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
На моей странице есть 3 действия: добавление поста, его удаление и редактированиеAJAX запрос на добавление уже написан, и появился вопрос: на 2 других...