美文网首页
implode()和explode()

implode()和explode()

作者: 有木 | 来源:发表于2018-11-23 11:33 被阅读0次

PHP > String函数 > implode()

简介

这个函数的作用是将一个一个PHP数组中的值拼接成一个字符串。接受两个参数,separatorarrayimplode()的两个参数的顺序是随意的,而且separator参数是可选的,默认为""

参数 描述
separator 可选。规定数组元素之间放置的内容。默认是""
array 必须。要组合为字符串的数组。

Demo

  • 这个是一般的数值数组,它会按照咱们想象的那样将所有元素组合成字符串,用“-”连接。
$arr = array("hello", "world", "gray", "young");
$str = implode("-", $arr3[0]);
echo $str;

hello-world-gray-young

  • 然后是关联数组,可以看出它将数组中的value组合成字符串。
$arr2 = array(
    "hello"=>"world",
    "gray"=>"young",
);
$str = implode("-", $arr);
echo $str;

world-young

  • 然后是多维数组,嗯。。。这样就报错了。
$arr3 = array(
    array("hello", "world"),
    array("gray", "young")
);
$str = implode("-", $arr);
echo $str;

PHP Notice: Array to string conversion in /Users/gray/Desktop/Untitled.php on line 11

PHP Stack trace:

PHP 1. {main}() /Users/gray/Desktop/Untitled.php:0

PHP 2. implode('-', array (0 => array (0 => 'hello', 1 => 'world'), 1 => array (0 => 'gray', 1 => 'young'))) /Users/gray/Desktop/Untitled.php:11

PHP > String函数 > explode()

简介

explode()implode()函数相反,是将一个字符串分割成数组的。可以接受三个参数separator,stringlimit。而且由于历史原因,这个函数的的参数顺序是不能打乱的。

参数 描述
separator 必须。规定在哪里分割。
string 必须。要分隔的字符串。
limit 可选。规定所返回的数组元素的数目。

可能的值:
1. 大于 0 :返回包含最多limit个元素的数组。
2. 小于 0 :返回包含除了最后一个-limit个元素以外的所有元素的数组。
3. 等于 0 :返回包含一个元素的数组。

Demo

  • 首先参数顺序不对会报错:
$str = "hello-world-gray-young";
$arr = explode("-", 2, $str);
print_r($arr);

PHP Warning: explode() expects parameter 3 to be integer, string given in /private/var/folders/3p/sr7hf9ws0sv5cnc_x0rxmnj40000gn/T/CodeRunner/Untitled.php on line 3

PHP Stack trace:

PHP 1. {main}() /private/var/folders/3p/sr7hf9ws0sv5cnc_x0rxmnj40000gn/T/CodeRunner/Untitled.php:0

PHP 2. explode('-', '2', 'hello-world-gray-young') /private/var/folders/3p/sr7hf9ws0sv5cnc_x0rxmnj40000gn/T/CodeRunner/Untitled.php:3

  • 然后是没有limit参数各种情况:
$str = "hello-world-gray-young";

echo "没有limit参数";
$arr = explode("-", $str);
print_r($arr);

echo "limit参数为正数";
$arr1 = explode("-", $str, 2);
print_r($arr);

echo "limit参数为负数数";
$arr1 = explode("-", $str, -2);
print_r($arr);

echo "limit参数为0";
$arr1 = explode("-", $str, 0);
print_r($arr);

没有limit参数

Array

(

​ [0] => hello

​ [1] => world

​ [2] => gray

​ [3] => young

)

limit参数为正数

Array

(

​ [0] => hello

​ [1] => world-gray-young

)

limit参数为负数数

Array

(

​ [0] => hello

​ [1] => world

)

limit参数为0

Array

(

​ [0] => hello-world-gray-young

)

材料下载

链接:https://pan.baidu.com/s/1BFe_f10gfinJyP3lARuSuw 密码:unjd

相关文章

网友评论

      本文标题:implode()和explode()

      本文链接:https://www.haomeiwen.com/subject/qbxjqqtx.html