虽然implode()
由于历史原因,可以按任一顺序接受其参数,explode()
不能。为什么?
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
类似于
$array = array('lastname', 'email', 'phone');
$comma_separated = implode( $array,",");
Why?
As per implode() http://php.net/manual/en/function.implode.php#refsect1-function.implode-description and explode() http://php.net/manual/en/function.explode.php#refsect1-function.explode-parameters文件,他们只说这是历史原因。
这是在中找到的quora https://www.quora.com/What-are-the-historical-reasons-for-PHPs-implode-being-able-to-accept-its-arguments-in-either-order-but-explode-not-being-able-to。而且这个理由听起来很有希望!
我猜部分原因是爆炸的两个参数都是
字符串,因此很难区分哪个是分隔符,哪个是分隔符
如果它们被交换,这是原始字符串。然而,内爆,
采用字符串(粘合)和数组(片段)作为其参数。它在
最不容易区分它们。
“历史原因”可能指 API 设计指南的更改,
决定“较小”的参数(针、胶水)应该
在“更大”参数(干草堆、碎片)之前。内爆可能有
之前使用了相反的顺序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)