@Deletron247

Как проверить совпадение нескольких переменых?

Есть переменные
$var1 = 22687;
$var2 = 22687;
$var3 = 54464;

Нужно найти число которое совпадает несколько раз
и вывести его
  • Вопрос задан
  • 137 просмотров
Решения вопроса 3
maksim92
@maksim92 Куратор тега PHP
Нашёл решение — пометь вопрос ответом!
$array = [22687, 22687, 22688];
$result = array_count_values($array);
Ответ написан
@rPman
$input=[22687, 22687, 22688];
$res=[];
foreach($input as $v) @$res[$v]++;
foreach($res as $v=>$cnt) if($cnt>1) echo $v."\n";

вместо последней строки вывода можно использовать array_filter, если нужно вернуть массив
$res2=array_filter($res,fn($cnt)=>$cnt>1);
Ответ написан
@Deletron247 Автор вопроса
И теперь мое решение после совмещения двух кусков кода в один

$kp_id_ar = array();
if ($kp_id_vidcdn != 0) array_push($kp_id_ar, $kp_id_vidcdn);
if ($kp_id_bazon != 0) array_push($kp_id_ar, $kp_id_bazon);
if ($kp_id_ustore != 0) array_push($kp_id_ar, $kp_id_ustore);
$result = array_count_values($kp_id_ar);
if(count($kp_id_ar) == 1){
    foreach($result as $id=>$cnt)  $kp_id = $id;
    $cnt = 0;
}else{
    foreach($result as $id=>$cnt) {
        if($cnt>1) $kp_id = $id;
            $cnt = 0;
    }
}

print $kp_id;


но с одной оговоркой если api не ответил то присваиваем 0 переменной
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы