Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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 内爆()和;加入_Php - Fatal编程技术网

Php 内爆()和;加入

Php 内爆()和;加入,php,Php,内爆()和连接()的区别是什么,因为两者的工作方式相同 <?php $array = array(1,2,3); echo join(",", $array); // output 1,2,3 echo implode(",", $array); // output 1,2,3 ?> 使用一个比另一个有什么好处吗?想不出有什么好处。一个是另一个的别名。它们都将数组元素组合成字符串 它们是彼此的别名。理论上

内爆()
连接()
的区别是什么,因为两者的工作方式相同

<?php
    $array = array(1,2,3);
    
    echo join(",", $array); // output 1,2,3
    echo implode(",", $array); // output 1,2,3
?>


使用一个比另一个有什么好处吗?

想不出有什么好处。一个是另一个的别名。它们都将数组元素组合成字符串

它们是彼此的别名。理论上,它们的工作原理应该完全相同。尽管如此,使用explode/intlode已被证明可以将代码的惊人程度提高10%

Join:Join是intlode()的别名

例如:

<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = join(",", $arr);
echo $str; 
?>
<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = implode(",", $arr);
echo $str; 
?>

输出:Test1、Test2、Test3

内爆:内爆从数组元素返回字符串

例如:

<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = join(",", $arr);
echo $str; 
?>
<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = implode(",", $arr);
echo $str; 
?>

输出:Test1、Test2、Test3

更新:

我在基准测试中测试了它们,它们的速度是一样的。它们之间没有区别。

join()
内爆()
的别名,因此
内爆
理论上更“PHP原生”,尽管使用它绝对不会提高性能

另一方面,
join()


因此,尽管
explode
implode
无疑听起来更具戏剧性,但我会投票支持
join
作为一种更通用的方式,将数组的每个值串联成一个字符串。

简而言之,在php中,join()和implode()方法的功能是相同的

<?php
    $array = array(1,2,3);
    
    echo join(",", $array); // output 1,2,3
    echo implode(",", $array); // output 1,2,3
?>

一个可以互换另一个,因为它们以相同的方式工作。

因此我可以使用任何一种方法。如果
JOIN
将一个数组转换为sting的速度比另一个快得多,反之亦然,则不存在这样的问题?是的
JOIN
更快,它有3个字母;)使用“join”,因为它在大多数其他编程语言中更常见,因此使代码更具可读性。无论哪种方式,都没有性能优势或劣势,因此请使用可理解性<代码>内爆
由记事本高亮显示(+
加入
不是;)@马克·贝克,你说得对。我现在用很多数组来测试它,内爆和连接显示同时执行。我错了,我修改了我的答案。非常感谢。这个问题和你的答案有什么不同吗?这应该是正确的答案。join将分隔符附加到最后一个元素,而内爆不附加分隔符。@AdamAzad,你错了,
join
没有将分隔符附加到最后一个元素。我认为它不仅仅是10%是的,
内爆
是正统的。对于python程序员来说,join更为标准,我认为它是11.78%的intlode/explode=程序员的SWAG;这会给线程增加什么?这与公认的答案基本相同。
<?php
    $array = array(1,2,3);
    
    echo join(",", $array); // output 1,2,3
    echo implode(",", $array); // output 1,2,3
?>