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

:查找变量的类型是否为字符串

您可以将simple
foreach
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$计数器