在php中,数组和字符串可以进行转换,今天我们就来介绍一下数组和字符串进行转换的方法,有需要的小伙伴可以参考参考。 1、数组转字符串 implode 方法介绍: function implode ($glue = ,
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" }