PHP > String函数 > implode()
简介
这个函数的作用是将一个一个PHP数组中的值拼接成一个字符串。接受两个参数,separator
和array
。implode()
的两个参数的顺序是随意的,而且separator
参数是可选的,默认为""
。
参数 | 描述 |
---|---|
separator | 可选。规定数组元素之间放置的内容。默认是""
|
array | 必须。要组合为字符串的数组。 |
Demo
- 这个是一般的数值数组,它会按照咱们想象的那样将所有元素组合成字符串,用“-”连接。
$arr = array("hello", "world", "gray", "young");
$str = implode("-", $arr3[0]);
echo $str;
hello-world-gray-young
- 然后是关联数组,可以看出它将数组中的value组合成字符串。
$arr2 = array(
"hello"=>"world",
"gray"=>"young",
);
$str = implode("-", $arr);
echo $str;
world-young
- 然后是多维数组,嗯。。。这样就报错了。
$arr3 = array(
array("hello", "world"),
array("gray", "young")
);
$str = implode("-", $arr);
echo $str;
PHP Notice: Array to string conversion in /Users/gray/Desktop/Untitled.php on line 11
PHP Stack trace:
PHP 1. {main}() /Users/gray/Desktop/Untitled.php:0
PHP 2. implode('-', array (0 => array (0 => 'hello', 1 => 'world'), 1 => array (0 => 'gray', 1 => 'young'))) /Users/gray/Desktop/Untitled.php:11
PHP > String函数 > explode()
简介
explode()
和implode()
函数相反,是将一个字符串分割成数组的。可以接受三个参数separator
,string
和limit
。而且由于历史原因,这个函数的的参数顺序是不能打乱的。
参数 | 描述 |
---|---|
separator | 必须。规定在哪里分割。 |
string | 必须。要分隔的字符串。 |
limit | 可选。规定所返回的数组元素的数目。 可能的值: 1. 大于 0 :返回包含最多limit个元素的数组。 2. 小于 0 :返回包含除了最后一个-limit个元素以外的所有元素的数组。 3. 等于 0 :返回包含一个元素的数组。 |
Demo
- 首先参数顺序不对会报错:
$str = "hello-world-gray-young";
$arr = explode("-", 2, $str);
print_r($arr);
PHP Warning: explode() expects parameter 3 to be integer, string given in /private/var/folders/3p/sr7hf9ws0sv5cnc_x0rxmnj40000gn/T/CodeRunner/Untitled.php on line 3
PHP Stack trace:
PHP 1. {main}() /private/var/folders/3p/sr7hf9ws0sv5cnc_x0rxmnj40000gn/T/CodeRunner/Untitled.php:0
PHP 2. explode('-', '2', 'hello-world-gray-young') /private/var/folders/3p/sr7hf9ws0sv5cnc_x0rxmnj40000gn/T/CodeRunner/Untitled.php:3
- 然后是没有limit参数各种情况:
$str = "hello-world-gray-young";
echo "没有limit参数";
$arr = explode("-", $str);
print_r($arr);
echo "limit参数为正数";
$arr1 = explode("-", $str, 2);
print_r($arr);
echo "limit参数为负数数";
$arr1 = explode("-", $str, -2);
print_r($arr);
echo "limit参数为0";
$arr1 = explode("-", $str, 0);
print_r($arr);
没有limit参数
Array
(
[0] => hello
[1] => world
[2] => gray
[3] => young
)
limit参数为正数
Array
(
[0] => hello
[1] => world-gray-young
)
limit参数为负数数
Array
(
[0] => hello
[1] => world
)
limit参数为0
Array
(
[0] => hello-world-gray-young
)
网友评论