2011-05-15 19 views
5

私はちょうど1行にこのコードを書く方法があるのだろうかと思っています。PHPの爆発機能

$exp = explode(" ", $text); 
$cut = $exp[0]; 

変数を割り当てる必要はありません。あなたが唯一のこれまでの最初の部分をしたい場合は、strtokで配列の回避策を避ける

おかげ

答えて

8

$cut = strtok($text, " "); 

それが途切れます何かから最初の区切り文字(あなたの場合はスペース)までの文字列。

+5

これは非常に良い答えです。最初の文字が '' ''でなければ完全に動作します。 OPの質問の結果は空の文字列になり、答えの結果はposからposまでの文字列から次のスペースまでの文字列になります。とにかく+1。 – AndersTornkvist

+0

@ richard86:興味深い。私はそれが実際には最初の非区切り文字にスキップすることは決してありませんでした。その正確な振る舞いを得るためには通常 'trim()'を適用します。しかし、空の文字列部分も必要とするかもしれません。 – mario

3
$var = reset(explode(" ", $text)); 
+0

しかし、あなたは(質問 '$のcut'のような、しかし、' $ expのような完全な配列を、持っているだろう何も最初の要素を持っている '$のvar'で終わるだろう' – Nanne

+0

これもエラーを出すでしょう:'厳格な基準:変数のみを参照渡しにする ' – meze

+0

@NaneそれはOPの質問です。 – PeeHaa

3
$cut = substr ($text, 0, strpos ($text, ' ')); 

OR

$cut = substr (trim ($text), 0, strpos (trim ($text), ' '));