首页 > 后端开发 > PHP问题 > PHP中数组和字符串如何进行转换(必看)

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

醉折花枝作酒筹
发布: 2023-03-11 17:48:01
转载
4547 人浏览过

在php中,数组和字符串可以进行转换,今天我们就来介绍一下数组和字符串进行转换的方法,有需要的小伙伴可以参考参考。

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.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板