@SteepNET

Выбрать одно из совпадений на php?

Добрый день!
Подскажите пожалуйста простой способ найти совпадния из нескольких значений ,пробую substr_count() но оно врое бы как только одно вопадение может извлечь ?

$asr_res = 'первое';

if (intval(substr_count($asr_res, 'первое')) > 0) {
$ress = 1;
} elseif (intval(substr_count($asr_res, 'второе')) > 0) {
$ress = 2; 
} elseif (intval(substr_count($asr_res, 'третье')) > 0) {
$ress = 3; 
} else {
$ress = 0;
}


Хотелось бы несколько вхождений $asr_res = 'первое ИЛИ первае ИЛИ первуе';
Выбирать одно из этих вхождений и выдавать $ress = 1;
и.т.д...
array() не пашет ...

UPD: Возможно не совсем понятно написал вопрос
У значения $asr_res может быть много вариантов, нужно все эти варианты поместить в какой то массив или перечисление где их можно дополнить,изменить, и что бы при каком то одном совпадении присваивалось знасение $ress = 1, в другом наборе другой набор совпадений и.т...

Напрашивается такой код
$array = array(
    "первое",
    "первае"
);

if (intval(substr_count($asr_res, $array)) > 0) {
$ress = 1;


Но substr_count не умеет работать с массивами
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Вопрос не очень понятен. Но возможно preg_match:
$asr_res = "первое";

if (preg_match('/(первое|первае|первуе)/', $asr_res)) {
    $ress = 1;
}


Share PHP code
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Ex1st
$arRes = array(
    первое
);

foreach ($arRes as $item) {
    if ($item == 'первое') {
        $res = 1;
    }
    elseif ($item == 'второе') {
        $res = 2;
    }
    else {
        $res = 3;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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