• 它输出什么?


    看一个小问题,问:

    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了吧?:->



  • 相关阅读:
    html-fieldset线中嵌套字符
    在Windows平台上绿色安装postgresQL
    tomcat处理中文文件名的访问(乱码)
    CSS div水平垂直居中和div置于底部
    java-工具类-读取配置文件
    Win+Ctrl键设置
    eclipse-将同一个文件分屏显示
    spring-poi-excle往单元格写入图片
    spring-初始化完成后运行指定内容
    java-collections.sort异常Comparison method violates its general contract!
  • 原文地址:https://www.cnblogs.com/catprayer/p/1834944.html
Copyright © 2020-2023  润新知