0
<?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;
}
?>
これは、word.campingのためのscript.phpのスニペットです。この行には:foreachが正常に動作していない
'echo "$pattern";
現在の単語(パターン)ではなく、配列全体が出力されます。どうしたの?
ができませforeachので行う方法のようなforループで$パターンの配列をループ。あるいは、 'echo $ pattern [0]'を使って最初のものを印刷することもできます。彼らは何の問題もありません。あなたは、すべての繰り返しで配列全体を印刷し、それを行うように指示します。 PHP配列の要素を取得する方法について学んでください。 –
foreachの中の$ patternは、あなたがそれを参照したような配列ではない文字列です。 Foreachは正常に動作します。それはあなただけの理解です –