Сравнение строк php по шаблону

нужно сравнить две строки, чтобы получить PAIR только с условием, что отличается только символ с 5-м индексом (игнорируя первые 4 символа) … в mysql это может быть достигнуто с помощью INBXOLC800Y = INBX_LC800Y (с использованием подстановочного знака ‘_’), но как сделать это в PHP … вот мой код до сих пор, но я думаю, что может быть более умный и / или кратчайший путь ???

$first_sku_full=  "INBXOLC800Y";
$first_sku_short= substr($first_sku_full, 5); // gives LC800Y

$second_sku_full= "INBXPLC800Y";
$second_sku_short= substr($second_sku_full, 5); // gives LC800Y

if ( $first_sku_short == $second_sku_short ) {
// 6th character onward is matched now included 5th character
$first_sku_short= substr($first_sku_full, 4);
$second_sku_short= substr($second_sku_full, 4);
if ( $first_sku_short != $second_sku_short ) {
echo "first and second sku is a pair";
}else{
echo "first and second sku is NOT a pair;
}
}

3

Решение

Вы можете сократить его, не назначая все эти переменные, просто проверьте подстроки в if,

if (substr($first_sku_full, 5) == substr($second_sku_full, 5)) {
if ($first_sku_full[4] != $second_sku_full[4])
echo "first and second sku are a pair";
} else {
echo "first and second sku are NOT a pair";
}
}
0

Другие решения

Мы используем AND устранить дальше if..else

$first_sku_full=  "INBXOLC800Y";
$first_sku_short= substr($first_sku_full, 5); // gives LC800Y

$second_sku_full= "INBXPLC800Y";
$second_sku_short= substr($second_sku_full, 5); // gives LC800Y

if ($first_sku_short == $second_sku_short && $first_sku_full[4] != $second_sku_full[4]) {
echo "first and second sku are a pair";
} else {
echo "first and second sku are NOT a pair";
}
0

По вопросам рекламы [email protected]