私はこの配列を持っています:
$number= array(
array([0]=>2,[1]=>2)
array([0]=>2,[1]=>2,[2]=>2,[3]=>2)
array([0]=>2,[1]=>2,[2]=>2)
array([0]=>2,[1]=>2)
)
この配列に最大のインデックスが必要です。この配列の場合は 4 です。
あなたはこれを意味するかもしれません:
echo max(array_map('count', $number));
配列を反復処理するループを作成します。配列内の各配列について、その配列内の要素の数を取得し、それがこれまでの最大値よりも大きい場合 (たとえば、$max
)、$max
要素の数に設定します。次に、配列に対するループが完了すると、$max
答えが得られます。
次のコードを試すことができます。
$data = array(
"apples" =>
array("red", "yellow", "pineapples","enam"),
"bananas" =>
array("small", "medium", "big","enam","enam"),
"vegs" =>
array("potatoes", "carrots", "onions")
);
foreach($data as $in_arr){
$count = count($in_arr);
if($count>$max)$max = $count;
}
echo "The max:".$max;
count() 関数を使用します。
$max = count($number); // returns 4
アップデート
あなたの質問は十分に明確ではありません。提供されたコメントと回答は、配列内の他の配列よりも多くの要素を持つ配列内に存在する要素の数を取得したいことを示しています$number
。この場合@xdazz
、答えはあなたにとって最良のものです。$number
そして、次のように配列を記述する方が適切で正確です。
$number = array(
array(1, 2),
array(1, 2, 3, 4, 5),
array(1, 2, 3),
array(1, 2)
);
このコードはテスト済みで、配列で機能します。もちろん、count func を使用した array_map は、次元 1 の最大カウントの最適なソリューションです。
<?php
$number= array(
array(0=>2,1=>2),
array(0=>2,1=>2,2=>2,3=>2),
array(0=>2,1=>2,2=>2),
array(0=>2,1=>2),
);
$ak = array_values($number);
for($i;$i<count($number);$i++){
$c[] = count($ak[$i]);
}
echo max($c);
?>