ホームページ  >  記事  >  バックエンド開発  >  PHPを使用してexplodeを使用して文字列を分割するときに初心者が見落としやすい問題についての説明

PHPを使用してexplodeを使用して文字列を分割するときに初心者が見落としやすい問題についての説明

jacklove
jackloveオリジナル
2018-06-09 09:44:342236ブラウズ

1.explode メソッドの説明

explode メソッドは、特定の文字列を境界点として文字列を配列に分割できます。

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

各要素は文字列の部分文字列であり、境界点として文字列区切り文字で区切られます。

パラメータの説明:
delimiter
境界の区切り文字。

string
入力文字列

limit
limit パラメータが設定されており、それが 正の数である場合 の場合、返される配列には最大でも制限要素が含まれ、最後の要素には文字列の残りの部分が含まれます。
limit パラメータが 負の数 の場合、最後の -limit 要素を除くすべての要素が返されます。
limit が 0 の場合、1 として扱われます。

2. 例

使用、文字列を分割

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>

出力:

Array(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9)

使用、文字列を分割、制限は正の数です

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str, 5);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>

出力:

Array(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5,6,7,8,9)

文字列を分割するために使用します。limit は負の数です

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str, -3);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>

出力:

Array(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6)

使用して文字列を分割します。制限は 0

<?php$str = &#39;1,2,3,4,5,6,7,8,9&#39;;$arr = explode(&#39;,&#39;, $str,0);echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($arr);echo &#39;
';?>

出力:

Array(
    [0] => 1,2,3,4,5,6,7,8,9)

#3 無視しやすい問題です。 ## 通常、ID 文字列などのデータを分割するにはexplodeを使用します。

<?php$ids = &#39;1,2,3,4&#39;;$data = explode(&#39;,&#39;, $ids);if($data){    foreach($data as $k=>$v){        // do sth
    }
}?>

通常の状況では、IDは空ではなく、コードを見ると問題は見つかりません。 (データ); 一般的には空の処理が行われたものとみなされます。

しかし、実際の状況は ids=null ですが、データは空ではないため、foreach で実行されるコードで問題が発生します。

<?php$ids = null;$data = explode(&#39;,&#39;, $ids);if($data){
    print_r($data);
}else{    echo &#39;null&#39;;
}?>

ids=null であるため、explode を使用して分割すると、結果の配列は

Array()

ではなく Array ( [0] => ) になります。 したがって、問題を回避するには判断を変更する必要があります

d8d2503db740dae030e72ac444eb1af8$v){        // do sth
    }
}?>

この記事では、PHP で文字列を分割するためにエクスプロードを使用する初心者が見落としやすい問題について説明します。関連する内容については、こちらを参照してください。 PHP中国語ウェブサイト。

関連する推奨事項:

mysql 交換テーブルの 2 列データ方式の説明

0 ~ 1 個のランダムを生成する方法php Decimal メソッド経由

#mysql タイムスタンプ形式関数 from_unixtime

の使用方法

以上がPHPを使用してexplodeを使用して文字列を分割するときに初心者が見落としやすい問題についての説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。