explode メソッドは、特定の文字列を境界点として文字列を配列に分割できます。
array explode ( string $delimiter , string $string [, int $limit ] )
各要素は文字列の部分文字列であり、境界点として文字列区切り文字で区切られます。
パラメータの説明:
delimiter
境界の区切り文字。
string
入力文字列
limit
limit パラメータが設定されており、それが 正の数である場合 の場合、返される配列には最大でも制限要素が含まれ、最後の要素には文字列の残りの部分が含まれます。
limit パラメータが 負の数 の場合、最後の -limit 要素を除くすべての要素が返されます。
limit が 0 の場合、1 として扱われます。
使用、文字列を分割
<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str);echo '<pre class="brush:php;toolbar:false">'; print_r($arr);echo '';?>
出力:
Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9)
使用、文字列を分割、制限は正の数です
<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str, 5);echo '<pre class="brush:php;toolbar:false">'; print_r($arr);echo '';?>
出力:
Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5,6,7,8,9)
文字列を分割するために使用します。limit は負の数です
<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str, -3);echo '<pre class="brush:php;toolbar:false">'; print_r($arr);echo '';?>
出力:
Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6)
使用して文字列を分割します。制限は 0
<?php$str = '1,2,3,4,5,6,7,8,9';$arr = explode(',', $str,0);echo '<pre class="brush:php;toolbar:false">'; print_r($arr);echo '';?>
出力:
Array( [0] => 1,2,3,4,5,6,7,8,9)
<?php$ids = '1,2,3,4';$data = explode(',', $ids);if($data){ foreach($data as $k=>$v){ // do sth } }?>
通常の状況では、IDは空ではなく、コードを見ると問題は見つかりません。 (データ); 一般的には空の処理が行われたものとみなされます。
しかし、実際の状況は ids=null ですが、データは空ではないため、foreach で実行されるコードで問題が発生します。<?php$ids = null;$data = explode(',', $ids);if($data){ print_r($data); }else{ echo 'null'; }?>
ではなく Array ( [0] => ) になります。 したがって、問題を回避するには判断を変更する必要があります
<?php$ids = null;$data = explode(',', $ids);if(isset($data[0]) && $data[0]){ foreach($data as $k=>$v){ // do sth } }?>
この記事では、PHP で文字列を分割するためにエクスプロードを使用する初心者が見落としやすい問題について説明します。関連する内容については、こちらを参照してください。 PHP中国語ウェブサイト。
関連する推奨事項:
mysql 交換テーブルの 2 列データ方式の説明0 ~ 1 個のランダムを生成する方法php Decimal メソッド経由#mysql タイムスタンプ形式関数 from_unixtime
の使用方法
以上がPHPを使用してexplodeを使用して文字列を分割するときに初心者が見落としやすい問題についての説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。