北京乐逍遥网站设计有限公司|乐逍遥网站设计|乐逍遥网站建设|乐逍遥建站|php知识|前端技术|后端技术|网站源码|移动开发|网站运营|UI设计|数据库|网站设计|网站开发|小程序|乐逍遥每日一句|乐逍遥福利图片
主页 > 后端开发 > PHP >

PHP超详细数组转字符串implode方法介绍

时间:2020-02-03  编辑:

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


 * The input string.

 *

 * @param int $split_length [optional]


 * Maximum length of the chunk.

 *

 * @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.

 *

 *


 * 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"

}

返回
顶部