2017-05-05 7 views
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"; 

現在の単語(パターン)ではなく、配列全体が出力されます。どうしたの?

+0

ができませforeachので行う方法のようなforループで$パターンの配列をループ。あるいは、 'echo $ pattern [0]'を使って最初のものを印刷することもできます。彼らは何の問題もありません。あなたは、すべての繰り返しで配列全体を印刷し、それを行うように指示します。 PHP配列の要素を取得する方法について学んでください。 –

+0

foreachの中の$ patternは、あなたがそれを参照したような配列ではない文字列です。 Foreachは正常に動作します。それはあなただけの理解です –

答えて

関連する問題