为什么implode()可以接受任何顺序的参数,explode()不能。

时间:2015-12-18 12:00:54

标签: php

虽然implode()因历史原因可以按任意顺序接受其参数,但explode()不能。为什么呢?

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

类似于

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

为什么?

1 个答案:

答案 0 :(得分:3)

根据implode()explode()文档,他们只是说这是历史原因。

这是quora中的内容。这听起来很有希望!!

  

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

     

“历史原因”可能指的是API设计指南的变更,   在哪里决定'较小'的参数(针,胶)应该   在'更大'的参数之前(干草堆,碎片)。内爆可能有   在此之前使用相反的顺序。