如何避免在看起来有效的数组上出现php Countable错误

我收到一个php count()错误, “ Warning: count(): Parameter must be an array or an object that implements Countable” , 这显然是数组。该代码仍然有效, 但是我想知道如何重新编码以避免警告消息。
首先, 我有一个多维数组(print_f dump):

$icons Array ( [0] => Array ( [image] => 12811 [label] => Chemical [categories] => Array ( [0] => 209 ))[1] => Array ( [image] => 12812 [label] => Cut [categories] => Array ( [0] => 236 ))[2] => Array ( [image] => 12813 [label] => Flame [categories] => Array ( [0] => 256 [1] => 252 )) )

我正在将Wordpress术语与图像匹配:
< ?php $terms = wp_get_post_terms( get_the_ID(), 'product_categories', array("fields" => "ids")); if($icons) {foreach($icons as $row) { for($i=0; $i< count($row['categories']); $i++) { for($j=0; $j< count($terms); $j++) { if($row['categories'][$i]==$terms[$j]) { array_push($icon_img_ary, $row['image']); $icon_img_ary_unq=wg_unique_array($icon_img_ary); } } } } } } ?>

在对嵌套数组进行计数时, 该错误发生在第一个for()循环中。实际上, 我已经使用这个相同的代码已有几个月了, 在两个单独的文档上有两个实例。我只在其中一个文档中收到此错误。我一直在努力尝试理解为什么数组不以数组形式键入。
我已经看到一些讨论的解决方案, 它们在条件条件下使用数组变量& & count($ array)?这就像是一种全新的语法, 然后在后续的’ ; ’ 上抛出错误。或{}个字符。非常令人困惑, 我正在尝试了解。任何帮助将不胜感激, 谢谢!
#1如果使用的是PHP 7.3, 则可以使用is_countable(), 否则可以使用is_array()。
对于PHP 7.3或更高版本:
< ?php $terms = wp_get_post_terms( get_the_ID(), 'product_categories', array("fields" => "ids")); if($icons) {foreach($icons as $row) { if ( is_countable( $row['categories'] ) ) { for($i=0; $i< count($row['categories']); $i++) { for($j=0; $j< count($terms); $j++) { if($row['categories'][$i]==$terms[$j]) { array_push($icon_img_ary, $row['image']); $icon_img_ary_unq=wg_unique_array($icon_img_ary); } } } } } } ?>

对于低于PHP 7.3的版本:
< ?php $terms = wp_get_post_terms( get_the_ID(), 'product_categories', array("fields" => "ids")); if($icons) {foreach($icons as $row) { if ( is_array( $row['categories'] ) ) { for($i=0; $i< count($row['categories']); $i++) { for($j=0; $j< count($terms); $j++) { if($row['categories'][$i]==$terms[$j]) { array_push($icon_img_ary, $row['image']); $icon_img_ary_unq=wg_unique_array($icon_img_ary); } } } } } } ?>

#2【如何避免在看起来有效的数组上出现php Countable错误】如果不确定是否可以对有问题的变量使用count, 则可以使用is_countable函数。

    推荐阅读