-1

配列内の重複をチェックする方法を理解しようとしていますが、次のコードでは目的の結果が得られません。

for ($i = 0; $i < 10; $i++) {
              for ($j = 0; $j < count($ships[$i][0]); $j++) {
                        if ($hitX.$hitY === $ships[$i][1][$j].$ships[$i][0][$j]) {
                            echo("hit");
                            array_push( $ships[$i]["hits"], array($hitX,$hitY));
                            $ships[$i]["hits"] = array_unique($ships[$i]["hits"])

たとえば、次の配列を減らして、一意の値のみが含まれるようにします。

[hits] => Array
    (
        [0] => Array
            (
                [0] => k
                [1] => 6
            )

        [1] => Array
            (
                [0] => j
                [1] => 6
            )

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

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

        [4] => Array
            (
                [0] => j
                [1] => 6
            )

    )

)。

4

1 に答える 1

1

使用する:

$ships[$i]["hits"] = array_unique($ships[$i]["hits"], SORT_REGULAR);
于 2012-06-06T19:34:52.213 に答える