PHP计数数组列

Sai*_*son 2 php arrays

我有这个PHP数组:

$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', NULL));
Run Code Online (Sandbox Code Playgroud)

如果我使用这个功能:

$rows = count($food);
Run Code Online (Sandbox Code Playgroud)

当然结果将是2,但如何获得数组列的数量?所以,我期待3作为水果和蔬菜专栏的价值.即使素食有NULL.

pet*_*erm 5

...我的意思是,如果列总是相同的,那么我们为什么要将它循环到多个行呢?

如果列数始终相同且$food数组中至少有一个元素,则可以使用current()探测第一个/当前元素

$columns = count(current($food));
Run Code Online (Sandbox Code Playgroud)


Suc*_*mar 5

你可以试试这个:array_mapcount.

<?php 
 $food = array('fruits' => array('orange', 'banana', 'apple'),
        'veggie' => array('carrot', 'collard', NULL));
 $typeTotals = array_map("count", $food);
echo "<pre>";
print_r($typeTotals);
Run Code Online (Sandbox Code Playgroud)

输出:

数组 ( [水果] => 3 [蔬菜] => 3 )