我有这个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.
...我的意思是,如果列总是相同的,那么我们为什么要将它循环到多个行呢?
如果列数始终相同且$food数组中至少有一个元素,则可以使用current()探测第一个/当前元素
$columns = count(current($food));
Run Code Online (Sandbox Code Playgroud)
你可以试试这个:array_map用count.
<?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 )