-3

私はこの配列を持っています:

$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 です。

4

5 に答える 5

8

あなたはこれを意味するかもしれません:

echo max(array_map('count', $number));
于 2012-12-16T06:46:34.873 に答える
1

配列を反復処理するループを作成します。配列内の各配列について、その配列内の要素の数を取得し、それがこれまでの最大値よりも大きい場合 (たとえば、$max)、$max要素の数に設定します。次に、配列に対するループが完了すると、$max答えが得られます。

于 2012-12-16T06:45:34.687 に答える
0

次のコードを試すことができます。

$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;    
于 2012-12-16T07:12:04.470 に答える
0

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)
);
于 2012-12-16T06:43:51.143 に答える
0

このコードはテスト済みで、配列で機能します。もちろん、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);
    ?>
于 2012-12-16T06:53:52.300 に答える