2

私はこのような配列を持っています

{
0: "abc"
1: "abc"
5: "abc"
6: "def"
7: "ghk"
8: "abc"
}

隣接する類似値を削除したい。みたいな

{
0: "abc"
6: "def"
7: "ghk"
8: "abc"
}

私は使用しようとします

$p = array_unique($array);

しかし、それは

{
0: "abc"
6: "def"
7: "ghk"
}

隣接する同様の値ではないため、8: "abc" を削除したくありません。
それを行うために任意の関数を使用できますか? ありがとう :)

4

2 に答える 2

2

次のようにできます。

$myArray = array(
        0 => "abc",
        1 => "abc",
        5 => "abc",
        6 => "def",
        7 => "ghk",
        8 => "abc",
);

$newArray = array();
$previous = '';
foreach ($myArray as $myArray_value) {

    if ($previous !== $myArray_value)
        $newArray[] = $myArray_value;

    $previous = $myArray_value;

}

print_r($newArray);

これがお役に立てば幸いです:)

于 2013-04-03T13:27:09.753 に答える