数组的计数给出了错误的值


count of the array gives wrong value

我是php及其发展的新手。我声明了 php 数组:

<?php
     $chk_group[] =array(
         '1' => 'red',
         '2' => 'thi',
         '3' => 'aaa',
         '4' => 'bbb',
         '5' => 'ccc'      
     );
     var_dump($chk_group);
     //continue for loop
     for ($i = 0 ; $i < count($chk_group); $i++) {
         echo count($chk_group);
     }
 ?>

在这里我得到了count = 1请帮我获取数组计数。

你已经创建了一个多维数组

$chk_group[] = array(
         '1' => 'red',
         '2' => 'thi',
         '3' => 'aaa',
         '4' => 'bbb',
         '5' => 'ccc' 
     );

你能试试不带括号吗:

$chk_group = array(
         '1' => 'red',
         '2' => 'thi',
         '3' => 'aaa',
         '4' => 'bbb',
         '5' => 'ccc' 
      );
您需要在

第一行中将$chk_group[]更改为$chk_group

在PHP语法中,$chk_group[] =意味着将右边的值推到一个名为$chk_group的数组。 您的整个阵列正在存储到$chk_group[0]

相反,您需要的是:

 $chk_group[] =array(
     '1' => 'red',
     '2' => 'thi',
     '3' => 'aaa',
     '4' => 'bbb',
     '5' => 'ccc' 
 );

尝试

count($chk_group[0]);

$chk_group =array('1' => 'red',
                           '2' => 'thi',
         '3' => 'aaa',
         '4' => 'bbb',
         '5' => 'ccc' 

     );
 count($chk_group);

如答案中所述,您需要删除额外的[]符号,以便将=符号前面的赋值识别为变量。使用此语法,您说数组的第一个元素是另一个数组