php关于count函数求解释解决方案

WBOY
发布: 2016-06-13 13:17:21
原创
874 人浏览过

php关于count函数求解释

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$food = array('fruits' => array('orange', 'banana', 'apple'),
                            'veggie' => array('carrot', 'collard', 'pea'));

              // recursive count
              echo count($food, COUNT_RECURSIVE); // output 8
登录后复制

怎么是输出8的呢?不是6么?

------解决方案--------------------
递归累计啊,要加上一维统计2,
------解决方案--------------------
COUNT_RECURSIVE 字面意思就是递归统计啊……

If the optional mode parameter is set to COUNT_RECURSIVE (or 1), count() will recursively count the array.

顺着手册的意思理解吧,,,如果你的需求不适用,自写函数咯,
------解决方案--------------------
别人给你的东西不是总能合你意的,经常是需要自己动下手的
count($food, COUNT_RECURSIVE) 返回的是所有的节点数量
而你需要的只是叶节点的数量
PHP code
$food = array(
  'fruits' => array('orange', 'banana', 'apple'),
  'veggie' => array('carrot', 'collard', 'pea')
);

function leay_count($ar) {
  $r = 0;
  foreach($ar as $item) {
    if(is_array($item)) $r += leay_count($item);
    else $r++;
  }
  return $r;
}

echo leay_count($food); <div class="clear">
                 
              
              
        
            </div>
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板