【问题标题】:Is there anyway to count how many keys an array has in Php?无论如何计算一个数组在 Php 中有多少个键?
【发布时间】:2011-05-05 14:51:49
【问题描述】:
Array
    (
        [0] => 'hello'
        [1] => 'there'
        [2] => 
        [3] => 
        [4] => 3
    )

// how to  get the number 5?

【问题讨论】:

  • 我看错了自己的代码,这让我认为 count 忽略了 null 值。

标签: php arrays count key


【解决方案1】:

count

$arr = Array
    (
        0 => 'hello',
        1 => 'there',
        2 => null,
        3 => null,
        4 => 3,
    );
var_dump(count($arr));

输出:

int(5)

【讨论】:

  • count(array_keys($arr)) 那么也许?
  • 在示例中,即使键 (2,3) 为空,count 仍然会在它们存在时对其进行计数。 count($arr) 即使有 false,null,0,"" 等,只要它们存在 count() 就会将它们加起来,正如 MatTheCat 所说,echo count(array(1,null,null)); 给出 3
【解决方案2】:
echo count($array);

【讨论】:

    【解决方案3】:

    以下代码使用 PHP 5.3.2 进行了测试。输出为int 5

    $a = array(
        0 => 'hello',
        1 => 'there',
        2 => null,
        3 => null,
        4 => 3,
    );
    
    var_dump(count($a));
    

    您能否提供更多关于null 未被统计的信息?可能是旧版本?或者只是在和我们其他人混在一起? :)

    编辑:好吧,发布了错误的代码:)

    【讨论】:

      【解决方案4】:

      为我工作,带 NULL

      $array = array('hello', 'there', NULL, NULL, 3);
      
      echo "<pre>".print_r($array, true)."</pre><br />";
      echo "Count: ".count($array)."<br />";
      

      输出

      Array
      (
          [0] => hello
          [1] => there
          [2] => 
          [3] => 
          [4] => 3
      )
      
      Count: 5
      

      快速Google search for PHP Array 应该会提取所有可用功能的结果

      【讨论】:

        【解决方案5】:

        【讨论】:

        • 这将忽略 null 的值 ;)
        • 那么为什么 echo count(array(1,null,null));给我3个??
        猜你喜欢
        • 2018-07-24
        • 2019-02-16
        • 1970-01-01
        • 1970-01-01
        • 2021-05-12
        • 2019-04-30
        • 2011-07-10
        • 2021-06-11
        • 1970-01-01
        相关资源
        最近更新 更多