Loading...
Обучение/Помощь новичкам | return value in write context
Galtsev.T (12 апр 2025, в 3:54)
Зачем тут функция? Достаточно по одиночке проверить наличие ключей в массиве и удалить, кода будет меньше чем с этой функцией
*67*
function array_keys_exists($keys, $array)
{
$diff = array_diff_key(array_flip($keys), $array);
return count($diff) === 0;
}

if (array_keys_exists(['user_id', 'token'], $_COOKIE)) {
unset($_COOKIE['user_id'], $_COOKIE['token']);
}
для unset() не нужна предварительная проверка на наличие переменной (ключа массива в данном случае), если массив существует, можно сразу применять, выбросов в данном случае не будет, так как $_COOKIE - глобальный массив (существует)
SNEG (11 апр 2025, в 23:47)

function array_keys_exists($keys, $array)
{
$diff = array_diff_key(array_flip($keys), $array);
return count($diff) === 0;
}

unset(array_keys_exists(['user_id', 'token'], $_COOKIE));


unset() работает с переменными, твоя функция возвращает тип - bool, как результат сравнения, она не возвращает переменную, которую нужно удалить)
Онлайн: 7
Время:
Gen. 0.0837
(c) ByMAS.RU 2010-2025