zoukankan      html  css  js  c++  java
  • 它输出什么?

    看一个小问题,问:

    echo count("abc"); 输出什么?

    刚开始反映的是3,结果输入代码一试才知道,原来输出是1。

    看看手册的解释吧:

    count -- 计算数组中的单元数目或对象中的属性个数(这个咱们都知道地..)

    它的基本格式:

    int count ( mixed var [, int mode] )
    返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元(注意这里)。 对于对象,如果安装了 SPL(Standard PHP Library (SPL) Functions,PHP标准函数库),可以通过实现 Countable 接口来调用 count()。该接口只有一个方法 count(),此方法返回 count() 函数的返回值。 如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 var 是 NULL 则结果是 0。 如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用。mode 的默认值是 0。count() 识别不了无限递归。

    看看它的实例:

    我们最常用的方法莫过于下面这种了:

    <?php
    $a[0] = 1;
    $a[1] = 3;
    $a[2] = 5;
    $result = count($a);
    // $result == 3
    
    $b[0] = 7;
    $b[5] = 9;
    $b[10] = 11;
    $result = count($b);
    // $result == 3;
    
    $result = count(null);
    // $result == 0
    
    $result = count(false);
    // $result == 1
    ?> 

    下面的代码可能不是很常用:count() 的递归例子(PHP >= 4.2.0)

    <?php
    $food = array('fruits'  => array('orange', 'banana', 'apple'),
                  'veggie'  => array('carrot', 'collard','pea'));
    
    // recursive count
    echo count($food, COUNT_RECURSIVE);  // output 8
    
    // normal count
    echo count($food);                  // output 2
    ?> 

    这下,知道为什么会输出1了吧?:->



  • 相关阅读:
    开发一个struts2的实例
    5个让DBA爱上你的SQL技巧
    实现struts2框架
    8张图带你理解Java整个只是网络(转载)
    jQuery实例属性和方法
    jQuery扩展工具方法
    javaEE的十三个技术规范
    Spring学习笔记5---cope(作用越)理解
    Spring学习笔记4----Spring IOC例子
    Spring学习笔记3---Spring简介
  • 原文地址:https://www.cnblogs.com/catprayer/p/1834944.html
Copyright © 2011-2022 走看看