2012-05-31 26 views
6

私は以下のように定義された変数を持っています:$ var = "1,2,3"; &私は配列を持っています:$ thePostIdArray = array(1,2,3);それをループする時には、上記コンマで区切られたリストから配列を生成する - PHP

アレイは素晴らしい作品が、私はカンマ区切りのリストの代わりにの$ VARを使用しようとすると、問題が発生します。

だから(完璧な世界)$ thePostIdArray = array($ var);これはと同じです$ thePostIdArray = array(1,2,3);

これまで働いていないすべての試み:?。 '(

が、このことも可能です、またはより簡単な回避策がある

は、任意のポインタをありがとう

+3

を:) –

答えて

40

チェックアウトexplode$thePostIdArray = explode(', ', $var);

+0

私はなぜstackoverflowが大好きです:) – Faizan

2

あなたの問題を解決します。 structu爆発するのは、この

array explode (string $delimiter , string $string [, int $limit ]) 

のようなものである再今$delimiterstring $stringは、入力文字列で、境界文字列です。 for limit:

limitが設定されていれば、返される配列には残りの文字列を含む最後の要素を含むlimit要素の最大値が含まれます。

limitパラメータが負の場合、last -limitを除くすべてのコンポーネントが返されます。

limitパラメータは、これは次のリンクをご覧ください。1.

として扱われ、ゼロの場合。次のコードを使用することができ、最終的にandになりたい開発者のためにその link of php.net

2

から最高学ぶことができます:PHPはあなたが期待するそのロジックを持っていた場合、私は怒っ駆動することだろう

$titleString = array('apple', 'banana', 'pear', 'grape'); 
$totalTitles = count($titleString); 
if($totalTitles>1) 
{ 
    $titleString = implode(', ' , array_slice($titleString,0,$totalTitles-1)) . ' and ' . end($titleString); 
} 
else 
{ 
    $titleString = implode(', ' , $titleString); 
} 

echo $titleString; // apple, banana, pear and grape 
関連する問題