【发布时间】:2018-05-16 04:06:00
【问题描述】:
我需要一个简单而优雅的解决方案来检查一个键在多维数组中是否具有空值。应该返回真/假。
像这样,但是对于多维数组:
if (empty($multi_array["key_inside_multi_array"])) {
// Do something if the key was empty
}
我发现的所有问题都是在多数组中搜索特定值,而不是简单地检查键是否为空并返回真/假。
这是一个例子:
$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()
更新:
我正在尝试修改来自this question 的代码,但到目前为止没有任何运气。这是我到目前为止所拥有的,任何帮助修复将不胜感激:
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;
}
【问题讨论】:
-
你要检查多维数组键值吗??
-
@nageennayak 是的。如果键有值返回真,如果没有值返回假。
-
你必须正确搜索并得到你的答案stackoverflow.com/questions/6990855/…
-
@nageennayak 我看到了,但它正在寻找一个特定的值。如果为空,则不返回 true 或 false。
-
@nageennayak 这看起来最有趣
$key = array_search(40489, array_column($userdb, 'uid'));但同样,它正在寻找一个值。如果为空,则不返回真/假。
标签: php multidimensional-array