IMPLODE
& JOIN
這兩者的區別是什麼?IMPLODE&JOIN有什麼區別
<?php
$array = array(1,2,3);
echo join(",", $array); //output 1,2,3
echo implode(",", $array); //output 1,2,3
?>
使用一個在另一個之上有什麼優勢嗎?
IMPLODE
& JOIN
這兩者的區別是什麼?IMPLODE&JOIN有什麼區別
<?php
$array = array(1,2,3);
echo join(",", $array); //output 1,2,3
echo implode(",", $array); //output 1,2,3
?>
使用一個在另一個之上有什麼優勢嗎?
它們是彼此的別名。他們理論上應該完全一樣。雖然使用爆炸/內爆已被證明可以將代碼的可怕程度提高10%
想不出任何。一個是另一個的別名。它們都將數組元素組合成一個字符串。
加入:加入是implode()的別名。
實施例:
<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = join(",", $arr);
echo $str;
?>
輸出:測試1,的Test2,Test3的。
Implode:implode從數組元素中返回一個字符串。
實施例:
<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = implode(",", $arr);
echo $str;
?>
Output: Test1,Test2,Test3.
UPDATE:
我在基準測試,並且它們在同一速度。我沒有看到彼此之間有任何區別
@MarkBaker,你是對的。我現在用很多數組測試它,並且implode和join顯示同一時間執行。我錯了,我編輯了我的答案。非常感謝。 –
問題與你的回答有什麼區別嗎? – Prasannjit
這應該是正確的答案。連接將分隔符附加到最後一個元素,而implode不會。 –
join()
是implode()
的別名,所以implode
在理論上更多地是「PHP本地」,儘管使用它絕對沒有性能提升。
另一方面,join()
可以在Perl,Python和ECMAScript(包括JavaScript)等語言中找到,因此在更廣泛的程序員讀者可理解性方面更具可移植性。
因此,儘管explode
和implode
是無可爭議的方式更生動,我會投票給join
以表達數組中的每個值的串聯成一個字符串一個更普遍的方式。
所以我可以使用任何方法。沒有這樣的問題,就像'JOIN'會將數組轉換成比其他數組更快的數組,反之亦然? –
yes'JOIN'更快,它減少了3個字母;) – 2013-07-28 23:30:49
使用「連接」,因爲它在大多數其他編程語言中更常見,因此使您的代碼更具可讀性。無論哪種方式都沒有性能優勢或劣勢,所以請隨便理解。 http://stackoverflow.com/a/36974284/467386 –