Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么内爆()可以按任意顺序接受其参数,而explode()不能。?_Php - Fatal编程技术网

Php 为什么内爆()可以按任意顺序接受其参数,而explode()不能。?

Php 为什么内爆()可以按任意顺序接受其参数,而explode()不能。?,php,Php,尽管由于历史原因,explode()可以按任意顺序接受其参数,explode()不能。为什么? $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); 类似于 $array = array('lastname', 'email', 'phone'); $comma_separated = implode( $array,","); 为什么?根据法律和文件,他们只说这是历史原因

尽管由于历史原因,
explode()
可以按任意顺序接受其参数,
explode()
不能。为什么?

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
类似于

$array = array('lastname', 'email', 'phone');
$comma_separated = implode( $array,",");
为什么?

根据法律和文件,他们只说这是历史原因

这就是我们所发现的。原因听起来很有希望

我想部分原因是爆炸的两个参数都是 字符串,因此很难区分分隔符和 如果交换,则为原始字符串。然而,内爆, 将字符串(胶水)和数组(碎片)作为其参数。在 最不容易区分它们

“历史原因”可能指API设计指南变更, 确定“较小”参数(针、胶水)应 在“更大”参数之前(草堆、碎片)。内爆可能已经发生了 在那之前使用了相反的顺序


因为它最初是这样写的,所以测试第一个参数的数据类型以查看它是数组还是字符串。。。。您会注意到,它还可以接受其参数为
内爆(array$pieces)
内爆(string$glue,array$pieces)
,以允许使用默认的胶水。此行为在PHP8中已更改。现在
内爆()
只接受胶水作为第一个参数,而碎片作为第二个参数。