-1

次のようなphpの配列の2つの可能な構成があります。

$array = array(
    "0" => "137",
    "1" => "137",
    "2" => "137",
    "3" => "137",
    "4" => "137"
);

$array = array(
    "0" => "137",
    "1" => "200",
    "2" => "31",
    "3" => "19",
    "4" => "400"
);

配列を互いに比較しようとしているわけではありません。

特定の数字が「137」であろうと、その他の数字であろうと、私が知る必要があるのは、すべての値が同じであるため、最初の配列が「true」であることをプログラムで判断する方法です。2 番目の配列は異なるため、"false" です。2番目のものには、同じ数の束と1つの異なるものを含む、ランダムなセットも含まれる可能性があります。

私は、それらがすべて同じである場合にのみ、どの数が異なるかについてはあまり気にしません。私は今研究していますが、用語に関して何を探すべきかわかりません。

4

2 に答える 2

8
if (count(array_unique($array)) > 1) {
    // not all elements are the same
}
于 2013-03-20T12:57:24.107 に答える
1

array_unique 関数php array_uniqueを使用できます

結果の配列のカウントが 1 の場合、すべての値は同じです。

または、異なる値が見つかるまで配列をループするのが最善の場合があります。これには最悪のケースがあります o(n)

編集: count(array_unique($array)) はよりクリーンですが、効率は低く、それでも o(n) であることに注意してください (常に o(n) は悪いケースではありません)。

于 2013-03-20T12:59:29.180 に答える