2013-11-15 53 views
-1
while ($strpos = strpos($text, $search, $offset)) { 
     $offset = $strpos + $search_length .'<br>'; 
     $text = substr_replace($text, $replace, $strpos, $search_length); 
    } 

說明:用C遇到非阱,形成數值:\ XAMPP .. \的index.php上線13錯誤:一種非阱,形成數值遇到

第13行是:while($ strpos = strpos($文本,$搜索,$偏移)){

這是我如何定義變量:

$text = $_POST['text']; 
$search = $_POST['searchfor']; 
$offset = 0; 

真的找不到在哪裏造成的錯誤。

代碼現在很好,無法解釋之前發生了什麼。感謝您的答覆。

+0

我會'回聲'這些變量;那麼問題就會很明顯 – Floris

+2

好吧,給你的數字「$ offset」變量添加一個''
'並不會對你有好處 – Phil

+0

@Phil - 謹慎解釋'
'被添加的位置/方式? – Floris

回答

2

嘗試將其更改爲:

while ($strpos = strpos($text, $search, $offset) !== false) { 
... 
} 
+0

@弗洛里斯不會,PHP會先評估比較左邊的聲明 – Phil

+1

這是一個很好的建議,但不能解決問題 – Phil

0

不要<br>串聯。在下一個陳述中迴應一個br。錯誤將消失

while($strpos = strpos($text, $search, $offset)) { 

    echo $offset= $strpos+$search_length; 
    echo '<br>'; 

     } 

我不喜歡呼應新線,但如果我使用$search_length。出現br標記錯誤。我不知道爲什麼。