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;
}
?>
這是從我的script.php詞檢查片段。在這一行中:foreach無法正常工作
'echo "$pattern";
它輸出整個數組,而不是當前字(模式)。有什麼問題?
您可以循環在$模式陣列for循環怎麼樣,你用的foreach做主持。或者你可以通過使用'echo $ pattern [0]'來打印第一個。他們沒有任何問題。你告訴它在每次迭代中打印整個數組,並且這樣做。瞭解如何獲取PHP數組的元素。 –
在foreach中,$ pattern是一個字符串,不像你引用它那樣是一個數組。 Foreach工作正常。這只是你對它的理解 –