foreach не работает должным образом

<?php

$find = array('Mahmoud', 'Ahmed', 'Arafa');

if(isset($_POST['user_input']) && !empty($_POST['user_input'])){
$user_input = $_POST['user_input'];

for ($i=0; $i < count($user_input); $i++) {
//echo 'eshta';
foreach($find as $pattern) {
echo "$pattern";
if($pattern[0] == $user_input[$i]){
$flag = 1;

for ($k=0; $k < count($pattern); $k++) {
if($pattern[$k] != $user_input[$i + $k]){
$flag = 0;
break;
}
}

if($flag){
for ($k=1; $k < count($pattern) - 1; $k++) {
$user_input[$i + $k] = '*';
}
}
}
}
}

echo $user_input;
}

?>

Это фрагмент из моего script.php для цензуры слова. В этой строке:

'echo "$pattern";

он выводит весь массив, а не текущее слово (шаблон). В чем проблема?

0

Решение

Как насчет этого?

URL: https://www.tehplayground.com/hlpAbDTdt4Rv617K

<?php

$find = array('Mahmoud', 'Ahmed', 'Arafa');

for ($i=0; $i < count($find); $i++) {
//echo 'eshta';
foreach($find as $i => $pattern) {
echo $find[$i];
}
}
?>

Ссылка: Перебрать массив php

0

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector