• 技术文章 >后端开发 >PHP问题

    PHP中数组和字符串如何进行转换(必看)

    醉折花枝作酒筹醉折花枝作酒筹2021-07-20 17:47:40转载130
    在php中,数组和字符串可以进行转换,今天我们就来介绍一下数组和字符串进行转换的方法,有需要的小伙伴可以参考参考。

    1、数组转字符串

    implode

    方法介绍:

    function implode ($glue = "", array $pieces) {}

    主要有两个参数

    一个是连接符(glue:胶水的意思),默认是空字符串

    一个是数组

    使用

    $test = array("hello","world","php");
    echo implode("-",$test);

    结果:

    hello-world-php

    如果是K-V形式的数组呢?

    $test = array("h"=>"hello","w"=>"world","p"=>"php");
    echo implode("-",$test);

    结果还是

    hello-world-php

    说明还是只对value有作用。

    2、字符串分割成数组

    2.1 按某个字符分割

    function explode ($delimiter, $string, $limit = null) {}

    explode (爆炸,可能是把这个字符串炸开?)

    参数解释:

    delimiter,分隔符

    limit

    文档google翻译结果:

    如果limit设置为正,则返回的数组将包含最大限制元素,最后一个元素包含字符串的其余部分。

    个人理解:

    limit 限制分割的份数,最后一份为剩下的字符串分割后剩下的,当然如果为1的话,就是字符串本身(已经过实验)

    代码演示:

    $str="hello-world-php";
    $result = explode("-", $str);
    var_dump($result);
    $result = explode("-", $str,2);
    var_dump($result);

    输出结果:

    array(3) {
      [0]=>
      string(5) "hello"
      [1]=>
      string(5) "world"
      [2]=>
      string(3) "php"
    }
    array(2) {
      [0]=>
      string(5) "hello"
      [1]=>
      string(9) "world-php"
    }

    2.2 按距离读取

    可能字符串不用分割,但是需要把每个字符拿出来,也就是一个一个读出来

    原文档:

    **
     * Convert a string to an array
     * @link http://php.net/manual/en/function.str-split.php
     * @param string $string <p>
     * The input string.
     * </p>
     * @param int $split_length [optional] <p>
     * Maximum length of the chunk.
     * </p>
     * @return array If the optional split_length parameter is
     * specified, the returned array will be broken down into chunks with each
     * being split_length in length, otherwise each chunk
     * will be one character in length.
     * </p>
     * <p>
     * false is returned if split_length is less than 1.
     * If the split_length length exceeds the length of
     * string, the entire string is returned as the first
     * (and only) array element.
     * @since 5.0
     */
    function str_split ($string, $split_length = 1) {}

    部分翻译:

    数组如果指定了可选的split_length参数,则返回的数组将被分解为长度为split_length的块,否则每个块将是一个字符长度。

    Convert a string to an array,这不就是把字符串转为数组嘛,用法没啥可说的

    现在我想试一试,如果是5个长度的字符串,按两位读取,不足两位时,最后一位是否保留?

    当然推测来说为了数据的完整性,应该是要保留的。

    $str = "hello";
    var_dump(str_split($str,2));

    结果也正如我的推测

    array(3) {
      [0]=>
      string(2) "he"
      [1]=>
      string(2) "ll"
      [2]=>
      string(1) "o"
    }

    推荐学习:php视频教程

    以上就是PHP中数组和字符串如何进行转换(必看)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:php 字符串转数组
    上一篇:PHP的 ?:,??,isset,empty都是什么意思 下一篇:10个超级有用的PHP代码片段(建议收藏)
    VIP会员

    相关文章推荐

    • php怎么禁止重复投票• php字符串怎么进行大小写不敏感比较• 详解PHP怎么使用动态规划实现最优红包组合• php怎么设置画布颜色• PHP的 ?:,??,isset,empty都是什么意思

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网