2015-10-15 47 views
-1

開頭的單詞我試圖編寫一個函數,它將搜索字符串作爲參數,並返回字符串中的所有搜索項的數組。字符串被認爲是一個搜索詞,除了用雙引號括起來的詞:這些短語應該被視爲單個搜索詞。我假設字符串中的所有值都被一個空格分開,並且沒有搜索字符串奇數雙引號的,那就是所有的開始引號有一個匹配的集結束引號PHP的searchTerms()函數 - 循環雖然數組找到以「

這是到目前爲止我的代碼:

function searchTerms($words) 
{ 
    $split = explode(" ", $words); 
    foreach ($split[0] == """) { 
      return $values; 
     } 
    } 
    return $split; 
} 

這不起作用。當我嘗試運行它時,它給了我一個「注意:數組到字符串轉換」。有人能告訴我我做錯了什麼嗎?

謝謝 - 所有的幫助將非常感激。

+1

的synatx高亮使錯誤明顯 –

+0

我知道,我只是不知道是什麼我需要去解決它 - –

回答

0

你可以嘗試:

使用單引號(如$split[0] == '"'

轉義雙引號(如$split[0] == "\""

此外,它看起來像你缺少代碼。 $values來自哪裏,爲什麼還有額外的}

你爲什麼要做一個布爾條件的foreach?

foreach ($split[0] == """)

這不是如何foreach's工作。

您可能會考慮將其更改爲:

$words = "Hello World"; 
$split = explode(" ", $words); 
foreach ($split as $word) { 
    echo $word; 
    echo "<br>"; 
} 

以上會輸出到頁面:

Hello 
World