我有一個輸入,用戶可以鍵入多個單詞,並告訴他們用空格分隔它。因此,輸入可以是這樣的:在每個空白處分割一個PHP字符串
foo
或像這樣:
foo bar php js
我如何檢查的空間,如果有空間,分割的話,那麼把它所有到一個數組?我將在我的程序中循環訪問該數組。我只是新來的字符串處理像這樣。
我有一個輸入,用戶可以鍵入多個單詞,並告訴他們用空格分隔它。因此,輸入可以是這樣的:在每個空白處分割一個PHP字符串
foo
或像這樣:
foo bar php js
我如何檢查的空間,如果有空間,分割的話,那麼把它所有到一個數組?我將在我的程序中循環訪問該數組。我只是新來的字符串處理像這樣。
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
正如丹尼爾說,explode()
非常適合這種情況。你可能還想看看preg_split()
(純粹是爲了將來的參考),因爲它接受一個正則表達式,而不僅僅是一個簡單的分隔符,並且允許你在一個更復雜的模式上分解輸入。
`split`已被廢棄,應儘量避免。如果您需要使用正則表達式,請使用`preg_split`而不是... – ircmaxell 2011-02-16 18:03:16
daniel已經發布關於滑動部分,讓我加上空間部分的檢查。
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pizaa = trim($pizza);
if(strpos($pizza,' ') >= 0)
{
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
}else {
echo $pizza;
}
爲了優化的目的,我認爲在使用爆炸函數之前,最好先刪除多餘的空格,比如雙空格。例如:如果您有"foo bar php js "
,則在使用爆炸功能之前,此字符串必須變爲"foo bar php js"
。你可以試試這個代碼:
$charSet = preg_replace(array('/\s{2,}/', '/[\t\n]/'), ' ', $charSet);
$charSet = rtrim($charSet);
$charSetArray = explode(" ", $charSet);
echo $charSetArray[0];
echo $charSetArray[1];
[KABOOM](http://www.php.net/explode) – BoltClock 2011-02-16 17:58:39