IMPLODE和JOIN有什么区别

Kha*_*han 52 php

是什么区别IMPLODE&JOIN既是工作方式相同.

<?php
    $array = array(1,2,3);

    echo join(",", $array); //output 1,2,3
    echo implode(",", $array); //output 1,2,3
?>
Run Code Online (Sandbox Code Playgroud)

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

Pla*_*rge 126

它们是彼此的别名.它们理论上应该完全相同.尽管如此,使用explode/implode已经证明可以将代码的强大程度提高10%

  • 我认为它不仅仅是10% (5认同)
  • 是的,"内爆"是正统的.https://github.com/php/php-src/blob/ec974c439724e8b4151412eaa0caba5aec5e1c49/ext/standard/basic_functions.c#L2759-L2760 (5认同)
  • 10%的是什么? (3认同)
  • 对于python程序员来说,join是更标准的. (3认同)
  • 我相信是11.78% (2认同)
  • 内爆/爆炸=程序员的**SWAG**; (2认同)

Erm*_*egu 17

加入:Join是implode()的别名.

例:

<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = join(",", $arr);
echo $str; 
?>
Run Code Online (Sandbox Code Playgroud)

输出:Test1,Test2,Test3.

Implode:implode从数组元素返回一个字符串.

例:

<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = implode(",", $arr);
echo $str; 
?>
Run Code Online (Sandbox Code Playgroud)

输出:Test1,Test2,Test3.

更新:

我在Benchmark测试了它们,速度相同.它们之间没有区别.


Tom*_*ger 8

join()是一个别名implode(),implode理论上更像是"PHP原生",尽管使用它绝对没有性能提升.

另一方面,join()除了其他语言之外,还有Perl,Python和ECMAScript(包括JavaScript),因此在更广泛的程序员可理解性方面更具可移植性.

因此,虽然explode并且implode无可争议地更具戏剧性,但我会投票选出join一种更通用的方式来表达数组中每个值到字符串的连接.


vee*_*vee 5

一个都想不起来 一个是另一个的别名。它们都将数组元素组合成一个字符串。