Вопрос, который я хотел бы задать здесь:
Есть ли в любом случае, что я могу удалить последовательные дубликаты из массива ниже, а только сохранить первый?
Массив показан ниже:
$a=array("1"=>"go","2"=>"stop","3"=>"stop","4"=>"stop","5"=>"stop","6"=>"go","7"=>"go","8"=>"stop"); Я хочу иметь массив, содержащий:
 $a=array("1"=>"go","2"=>"stop","3"=>"go","7"=>"stop"); 
Любые предложения помогут. С уважением.
Вы можете просто сделать что-то вроде:
 if(current($a) !== $new_val) $a[] = $new_val; 
  Предполагая, что вы не манипулируете этим массивом между вами, вы можете использовать current() это более эффективно, чем подсчет его каждый раз, чтобы проверить значение в count($a)-1 
Последовательные дубликаты? Я не знаю о родных функциях, но это работает. Ну, почти. Думаю, я понял это неправильно. В моей функции 7 => «go» является дубликатом 6 => «go», а 8 => «stop» – это новое значение …?
 function filterSuccessiveDuplicates($array) { $result = array(); $lastValue = null; foreach ($array as $key => $value) { // Only add non-duplicate successive values if ($value !== $lastValue) { $result[$key] = $value; } $lastValue = $value; } return $result; }