17、PHP 原生魅力 - 数组 - 数组转字符串

作者: 温新

图书: 【原生 PHP 魅力】

阅读: 157

时间: 2024-09-08 00:05:15

使用 PHP 可以将数组转换为字符串。为了做到这一点,我们有 implode() 函数,由于历史和追溯兼容性的原因,我们还有 join() 函数。 join() 函数是 implode() 的别名。因此,从开发人员的角度来看,在结果调用 implode() 或调用 join() 方面没有区别。

implode 或 join

如果需要把数组转成字符串,可以使用 implode()join() 函数。例如:

  • 有一个数组 ["a", "b", "c"],你希望得到 "abc"
  • 有一个数组 ["a", "b", "c"],但希望得到 "a-b-c"(这里 ”-” 作为分隔符);

implode()函数会使用字符串分隔符将数组中的每个元素连接起来。这些元素可以是字符串、字符、数字或布尔值。分隔符本身则可以是一个字符串(或只是一个字符)。

如果有一个字符数组,并希望通过 - 作为分隔符来获得一个字符串:

<?php

$arr = ['a', 'b', 'c'];

echo implode('-', $arr) . PHP_EOL;

输出如下:

$ php 17-arraytostring.php
a-b-c

也可以使用较长的字符串作为分隔符:

<?php

$arr = ['a', 'b', 'c'];

echo implode('--', $arr) . PHP_EOL;

输出如下:

$ php 17-arraytostring.php
a--b--c

使用空作为分隔符:

<?php

$arr = ['how', 'are', 'you', '?'];

echo implode(' ', $arr) . PHP_EOL;

输出如下:

$ php 17-arraytostring.php
how are you ?

不仅可以连接字符串,还可以连接数字和布尔值:

<?php

$arr = ['王美丽', 1, true];

echo implode('_', $arr) . PHP_EOL;

输出如下:

$ php 17-arraytostring.php
王美丽_1_1

可以省略分隔符来连接数组的元素,返回的字符串是一个没有分隔符的数组元素连接的字符串:

<?php

$arr = ['a','b','c'];

echo implode($arr) . PHP_EOL;

输出如下:

$ php 17-arraytostring.php
abc
请登录后再评论