Home  >  Article  >  Backend Development  >  An explanation of issues that novices can easily overlook when using php to split strings using explode

An explanation of issues that novices can easily overlook when using php to split strings using explode

jacklove
jackloveOriginal
2018-06-09 09:44:342305browse

1.explode method description

The explode method can split a string into an array based on a certain string as a boundary point.

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

Returns an array composed of strings. Each element is a substring of string, separated by string delimiter as a boundary point.

Parameter description:
delimiter
The delimiter character on the boundary.

string
Input string

limit
If the limit parameter is set and it is positive number, the returned array contains at most limit elements, and the last element will contain the remainder of the string.
If the limit parameter is a negative number, all elements except the last -limit elements will be returned.
If limit is 0, it will be treated as 1.

2. Example

Use, split string

<?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;
';?>

Output:

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

Use, split string , limit is a positive number

<?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;
';?>

Output:

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

Use, to split the string, limit is a negative number

<?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;
';?>

Output:

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

Use, split the string, limit is 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;
';?>

Output:

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

3. Problems that are easy to ignore

Generally we Will use explode to split data such as id string

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

Under normal circumstances, ids are not empty, and you will not find any problems when looking at the code, because there is a judgment if (data); generally it will be considered that it has been done. Empty handling.
But the actual situation is that ids=null, but data is not empty, which will cause problems with the code executed in foreach.

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

Because ids=null, use explode to split, and the resulting array is Array ( [0] => ) instead of Array().

So the judgment needs to be modified to avoid problems

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

This article explains the problems that novices who use explode to split strings in PHP easily overlook. For more related content, please pay attention to the PHP Chinese website.

Related recommendations:

Explanation on the two-column data method in the mysql exchange table

How to generate 0~1 random through php Decimal method

Instructions on the use of mysql timestamp format function from_unixtime

The above is the detailed content of An explanation of issues that novices can easily overlook when using php to split strings using explode. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn