gpt4 book ai didi

php - 如何计算内部数组计数

转载 作者:可可西里 更新时间:2023-11-01 12:30:13 24 4
gpt4 key购买 nike

我有一个像这样的数组

$arr[0] = 'summary';
$arr[1]['contact'][] = 'address1';
$arr[1]['contact'][] = 'address2';
$arr[1]['contact'][] = 'country';
$arr[1]['contact'][] = 'city';
$arr[1]['contact'][] = 'pincode';
$arr[1]['contact'][] = 'phone_no';
$arr[2]['work'][] = 'address1';
$arr[2]['work'][] = 'address2';
$arr[2]['work'][] = 'country';
$arr[2]['work'][] = 'city';
$arr[2]['work'][] = 'pincode';
$arr[2]['work'][] = 'phone_no';

使用 count($arr) 它返回 3 但我还需要计算内部数组值以便它返回 13

到目前为止我尝试过的是

function getCount($arr,$count = 0) {

foreach ($arr as $value) {

if (is_array($value)) {
echo $count;
getCount($value,$count);
}
$count = $count+1;
}
return $count;
}

echo getCount($arr);

但它没有按预期工作

最佳答案

您可以为此使用array_walk_recursive。这可能有帮助 -

$tot = 0;
array_walk_recursive($arr, function($x) use(&$tot) {
$tot++;
});

但这是一个递归函数,所以你需要小心。

getCount() 方法中,您没有在任何地方存储数组的计数。因此对于每次调用,$count 仅增加 1

DEMO

关于php - 如何计算内部数组计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32049483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com