Мне нужно простое и элегантное решение, чтобы проверить, имеет ли ключ пустое значение в многомерном массиве. Должен вернуть true / false.
Вот так, но для многомерного массива:
if (empty($multi_array["key_inside_multi_array"])) {
// Do something if the key was empty
}
Все вопросы, которые я нашел, - это поиск определенного значения внутри мульти-массива, а не просто проверка, является ли ключ пустым, и возвращение true / false.
Вот пример:
$my_multi_array = array(
0 => array(
"country" => "",
"price" => 4,
"discount-price" => 0,
),
);
Это вернет true:
$my_key = "country";
if (check_multi_array_for_empty_value($my_multi_array, $my_key)) {
//Run this code here because the "country" key in my multi dimensional array is empty
}
Это также вернет true:
$my_key = "discount-price";
if (check_multi_array_for_empty_value($my_multi_array, $my_key)) {
//Run this code here because the "discount-price" key in my multi dimensional array is empty
}
Это вернет false:
$my_key = "price";
if (check_multi_array_for_empty_value($my_multi_array, $my_key)) {
//This WILL NOT RUN because the "price" key in my multi dimensional array is NOT empty
}
Когда я говорю пусто, я имею в виду, как это empty ()
UPDATE:
Я пытаюсь адаптировать код из этого вопроса но пока безуспешно. Вот то, что я имею до сих пор, любая помощь по исправлению будет оценена:
function bg_empty_value_check($array, $key)
{
foreach ($array as $item)
{
if (is_array($item) && bg_empty_value_check($item, $key)) return true;
if (empty($item[$key])) return true;
}
return false;
}