数组和字符串之间的相互转化

explode() - 把字符串转化成数组;
implode() - 把数组转化成字符串;


explode()

把字符串按指定的字符分割成数组返回;

基础语法:
array explode(str $delimiter ,str $string [,int $limit]);

array - 返回的数组;
str - 用来分割的字符;
limit - 限定符,规定返回数组的长度;

语法结构1:
array explode(str $delimiter ,str $string);

array - 返回的数组;
delimiter - 分割的字符;

当 delimiter 匹配 string 中的字符的时候 - 返回能够得到的最大长度的数组;

当 delimiter 没有匹配 string 中的字符的时候 - 返回整个字符串为单一元素的数组;

当 delimiter == null 的时候 - 弹出警告;

实例:

$str_1 = 'this is a dog !';

print_r(explode(' ',$str_1));
#output : Array ( [0] => this [1] => is [2] => a [3] => dog [4] => ! )

print_r(explode('e',$str_1));
#output : Array ( [0] => this is a dog ! )

print_r(explode(null ,$str_1));
#output : Warning: explode(): Empty delimiter in ......

语法结构2:
array explode(str $delimiter ,str $string ,int $limit);

array - 返回的数组;
delimiter - 用来分割的字符;

当 delimiter 有匹配 string 中的字符的时候;

当 limit > 0 的时候 - 返回指定长度的数组,如果指定的长度 小于 能够返回的最大长度数组的长度,那么多余的子串,全部包含在数组的最后一个元素内;

当 limit = 0 的时候 - 返回整个字符串为单一数组元素的数组;

当 limit < 0 的时候 - 返回 最大长度的数组从末尾开始 减去 limit 个元素 后的数组;

当 delimiter 没有 匹配string 中的字符的时候;

当 limit >= 0 返回 整个字符串为单一元素的数组;
当 limit < 0 返回空数组;

limit - 限定符,规定返回数组的长度;

实例:

$str_1 = 'this is a dog !';

print_r(explode(' ',$str_1,0));
#output :Array ( [0] => this is a dog ! )

print_r(explode(' ',$str_1,2));
#output :Array ( [0] => this [1] => is a dog ! )

print_r(explode(' ',$str_1,30));
#output : Array ( [0] => this [1] => is [2] => a [3] => dog [4] => ! )

print_r(explode(' ',$str_1,-3));
#output : Array ( [0] => this [1] => is )

print_r(explode('e',$str_1,2));
#output :Array ( [0] => this is a dog ! )

print_r(explode('e',$str_1,-1));
#output : Array ( )



implode()

把数组转化成字符串;

基础语法:
string implode(str $connect ,array $array);

string - 返回的字符串;
connect - 连接符;
array - 被操作的数组;

实例:

$a_1 = ['this','is','a','dog','!'];

print_r(implode(' ',$a_1));
#output :this is a dog !

你可能感兴趣的:(数组和字符串之间的相互转化)