Home  >  Article  >  Backend Development  >  php关于count函数求解释解决方案

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

WBOY
WBOYOriginal
2016-06-13 13:17:21874browse

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>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn