1

PHPにはIDの配列があります

$ids = array(1, 1, 1, 2, 2, 3, 3);

1, 1, 11 になると 2 になる2, 2と 3 になるを分離したかっただけ3, 3です。
PHPでそれを行うにはどうすればよいですか?

4

4 に答える 4

5

array_count_valuesを使用して、各要素が配列内で何回出現するかを調べることができます。あなたは持っていませんが{1, 1, 1}[1] => 3あなたの使用のために同じものになることを願っています。

于 2013-06-11T08:58:46.243 に答える
4

これは、単純なループで簡単に実行できます。

$ids = array(1, 1, 1, 2, 2, 3, 3);

foreach($ids as $id){
    $new[$id][] = $id;
}

print_r($new);

出力:

Array
(
    [1] => Array
        (
            [0] => 1
            [1] => 1
            [2] => 1
        )

    [2] => Array
        (
            [0] => 2
            [1] => 2
        )

    [3] => Array
        (
            [0] => 3
            [1] => 3
        )

)
于 2013-06-11T09:00:25.843 に答える
2

個別の配列値 (繰り返しなし) が必要であることは理解しています。もしそうなら、ここに行きます:

$ids = array(1, 1, 1, 2, 2, 3, 3);
$distinct_ids = array_values(array_unique($ids));

出力を次のように与える

array (size=3)
0 => int 1
1 => int 2
2 => int 3

array_unique配列から重複する値を削除しarray_value、配列キーをリセットします。

ドキュメンテーション: array_valuesarray_unique

于 2013-06-11T09:44:41.123 に答える