我有一个数组数组,如下所示(例如)
$array = (
[0] => array (
[a_key] => 123456,
[b_key] => First Name,
[c_key] => Last Name,
[this_key ] => Institution,
),
[1] => array (
[a_key] => 123456,
[b_key] => First Name,
[c_key] => Last Name,
[this_key ] => Institution,
),
[2] => array (
[a_key] => 123456,
[b_key] => First Name,
[c_key] => Last Name,
[this_key ] => Institution,
),
)
我想检查$ array [$ key] ['this_key']是否为空或不等于''
$key = (any number)
如何设置$ key以匹配任何数字,以便当数组中至少有一个二维数组设置了[this_key]时,以下内容返回true?
if( $array[$key]['this_key'] != '' )
echo "true";
else
echo "false";
因此,如果未设置$ array [0] [this_key],设置$ array [1] [this_key],并且未设置$ array [2] [this_key],则IF语句将返回true,因为at所有数组中至少有一个设置了[this_key]。
修改
为情况提供一些背景信息,并提供可应用此解决方案的特定方案:
我有一个数据库中需要显示的人员列表。对于每个人,我有姓名,可选个人持有的机构/学位/职称。这些需要显示如下:
没有标题:
John Smith,Jane Doe,Fred Nerk
标题:
John Smith,画家;教授Jane Doe; Fred Nerk,天体物理学家
标题的混合案例:
约翰史密斯;教授Jane Doe; Fred Nerk
请注意每种情况下使用的标点符号。如果任何记录都没有可选信息,则逗号会分隔这些个人。如果有一个或多个记录的可选信息,分号将分隔个人。
使用if语句,我将能够确定其中一个人是否具有可选信息,即使其他每个人都没有。
顺便说一下:
这个PHP Sandbox Tool在将PHP代码集成到我的文件之前测试PHP代码非常有用。它支持从4.4.9到5.5.5的PHP版本。
答案 0 :(得分:0)
你可以这样做:
foreach($array as $key=>$array){
if(!empty($array['this_key'])){
//found one, do something here
}
}
答案 1 :(得分:0)
对于 PHP> = 5.5.0 ,我使用了:
if(array_filter(array_column($array, 'this_key'))){
// true, do something
}
当这返回true时,我知道至少有一个数组在this_key中有信息,因此我可以为这种情况做一些独特的事情。
我的服务器运行 PHP 5.4.13 ,因此我使用了recommended userland implementation for PHP lower than 5.5。它实现起来很简单,并且按预期工作。