Php 获取具有值的数组中的值的数目
我有这个数组Php 获取具有值的数组中的值的数目,php,arrays,wordpress,Php,Arrays,Wordpress,我有这个数组 array (size=5) 'amazon' => array (size=3) 'url' => string '' (length=0) 'display' => string 'Yes' (length=3) 'best_offer' => string '' (length=0) 'ebay' => array (size=3) 'url' => string
array (size=5)
'amazon' =>
array (size=3)
'url' => string '' (length=0)
'display' => string 'Yes' (length=3)
'best_offer' => string '' (length=0)
'ebay' =>
array (size=3)
'url' => string '' (length=0)
'display' => string 'Yes' (length=3)
'best_offer' => string '' (length=0)
'moosejaw' =>
array (size=3)
'url' => string '' (length=0)
'display' => string 'Yes' (length=3)
'best_offer' => string '' (length=0)
'rei' =>
array (size=3)
'url' => string '' (length=0)
'display' => string 'Yes' (length=3)
'best_offer' => string '' (length=0)
'jenson' =>
array (size=3)
'url' => string 'https://ebay.com' (length=16)
'display' => string 'Yes' (length=3)
'best_offer' => string '' (length=0)
我需要检查“url”是否有一个字符串,因此如果有,那么只计算有多少有url
因此,对于本例,它应该只显示“1”
非常感谢您的帮助:-)
顺便说一句,这就是我目前所拥有的
if( have_rows('marketplace_links') ):
while( have_rows('marketplace_links') ): the_row();
$value = get_field('marketplace_links', $post->ID);
echo count($value);
endwhile;
endif;
上述代码显示5,而不是1
:查找变量的类型是否为字符串
您可以将simpleforeach
与is\u string
和empty
$counter = 0;
foreach($a as $v){
is_string($v['url']) && !empty($v['url']) ? ($counter++) : '';
}
工作示例:您可以使用array\u column函数获取
url
值的数组,并通过array\u filter函数删除空条目
$counter = count(array_filter(array_column($a,'url')));
这是可运行的PHP代码吗?检查非空
url
字段的if
条件在哪里?非常感谢您,现在正在工作,我刚刚在foreach循环之后添加了echo$计数器