美文网首页
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