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