2013-10-09 71 views
0

我基本上必須編寫一個函數,該函數從窗體上的文本框中取出一串單詞,將字符串拆分爲單個單詞並將它們放入數組並顯示陣列。我的代碼是:將一串字拆分爲單個字的數組

$search = $_POST['search']; 

function searchterms() { 
$split = preg_split("/ /", searchterms()); 
return $split; 
} 

echo searchterms($search); 

我得到:致命錯誤:用盡134217728個字節允許內存大小(試圖分配65488個字節)在C:\ XAMPP \ htdocs中\迴文\ searchterms()PHP在線5

據我所見,這是因爲我在函數中使用searchterms(),但是如果我將$ search移入函數並用$ search替換searchterms,則會得到不同的錯誤。

編輯

我得到的,當我把$搜索到位searchterms()的函數的錯誤是: 注意:Array對C字符串轉換:\ XAMPP \ htdocs中\迴文\ searchterms() .PHP第9行 陣列

+2

問:你是否試圖以遞歸方式調用「searchterms()」?爲什麼不用這個替代:'$ split = preg_split(「/ /」,$ search);'? – paulsm4

+0

類似於你的問題,'function a(){echo a(); ''做?答案也適用於此。 –

+0

使用explode()在此處獲取數組 – Salim

回答

2

你正在試圖分裂功能本身,這樣做:

function searchterms($terms) { 
    $split = preg_split("/ /", $terms); 
    //or 
    $split = explode(" ", $terms); //explode by space to make array 
    return $split; 
} 

print_r(searchterms($search)); 
1

您可以使用explode()用於分割字符串數組。

如例

$strSplitString = "Hello world"; 
$arraySplitString = explode(" ", $strSplitString); 

這是你如何拆分單詞形式的字符串。正如上面的例子

我們已經與空間拆分詞。

+0

這是將sting分割爲數組的最簡單方法。我們可以使用任何我們想要爆炸的角色。 – 2013-10-09 04:42:06

+0

是的,我們可以在第一個參數中添加任何字符,我們想通過它來分割數組 –

相關問題