У меня есть один массив, который содержит несколько строк. У меня есть другой массив, который содержит также строки, но они короче. Моя цель - проверить, есть ли частичное совпадение в большом массиве для каждого элемента из меньшего массива. Однако preg_match вообще не работает с переменными. Если я помещаю исходный ввод, все кажется прекрасным, но в противном случае результаты будут ложными. Я пробовал почти все возможные комбинации регулярных выражений, но безуспешно. Код примера:Php preg_match не работает с переменной
//Lets say $needle is 3333 and bigPatern has 10 records with 10 digits each, for example third record is 5125433331. I want to perform the partial match and get true
$needle = $smlPattern[0]; //debugging with first item from smaller array
$needle2 = "/$needle/"; // I tried [$needle], ^..&, to concatenate and etc
foreach ($bigPatern as $val)
{
if (preg_match($needle2, $val))
{
echo "YES";
}
}
Любые советы, что я делаю неправильно?
Какова ценность '$ needle' и' $ bigPatern' и '$ val'? Является ли '$ bigPatern' опечаткой. Поместите что-то еще в 'foreach', чтобы проверить поток программы, – dan08
Не могли бы вы предоставить воспроизводимый фрагмент? –
Это работает здесь http://rextester.com/TSNVJ40822 – Mariano