Re: [讨论] 想查询多维阵列的个数

楼主: tkdmaf (皮皮快跑)   2015-10-31 10:12:46
※ 引述《dudeboy (讨嘘达人)》之铭言:
: 用count()函数可以统计出阵列的数量
: 我去查了它的参数 count(array,mode)的mode参数调为1
: 可以统计到阵列的多维阵列的总数
: 可是我的问题是我要知道某一列的数量 该怎么办
: 例如我现在读到的二维阵列长这样:
: ┌─┬─┬─┬─┬─┐
: │ a│b │c │d │e │
: ├─┼─┼─┼─┴─┘
: │ f│g │h │
: ├─┼─┼─┼─┐
: │j │k │l │m │
: └─┴─┴─┴─┘
: 我要怎么用双for循环印出阵列啊?
: for($i=0;$i<count($a);$i++)
: for($j=0;$j<???;$j++) //这边要怎么设定啊
: echo $a[$i][$j];
: 还是有其它函数?
: 我知道可以用print_r 可是我的问题在怎么知道每一列的值 >< 求救
$result = [];
foreach($array_sum as $arr){
$result[] = [
'data' => $arr,
'count' => count($arr)
];
}
以后要直接取用例如你要第二个阵列内的第二维阵列数量就…
echo $result[1]['count'];
要取资料时:
print_r($result[1]['data']);
count是很直接的做法,但如果你要考量重复使用的问题。
一直count下去也不是个办法。
不过也许有些人喜欢顺序调过来的写法:
$result = [];
foreach($array_sum as $arr){
$result['data'][] = $arr;
$result['count'][] = count($arr);
}
这样就会变成你要取笔数是写:
echo $result['count'][1];
取资料变成:
print_r($result['data'][1]);
喜欢那种方式就是看个人喜好囉。

Links booklink

Contact Us: admin [ a t ] ucptt.com