implode function - PHP


Posted by shanshanc on 2024-11-14

官方文件: https://www.php.net/manual/en/function.implode.php

工作專案要維護的前端codebase其中一個主要是用PHP寫的,但PHP這個語言跟語法我不太熟悉,所以有幾個常出現,但看到又想不起來的function或是寫法,implode就是其中一個,在不同時間遇到第三次還是想不起來之後,覺得是時候把他揪出來了!

語法: implode(string $separator, array $array): string
separator預設是空字串 (也就是沒有分隔)
官網範例:

$array = ['lastname', 'email', 'phone'];
var_dump(implode(",", $array)); // string(20) "lastname,email,phone"

把array裡的字串用指定的separator連起來。

可以理解成JavaScript的join
separator預設是用逗號分隔

const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join()); // Expected output: "Fire,Air,Water" 預設逗號

功能大概有87%像

後來想想大概是這個單字我平常比較少用,較常遇到的是跟它反方向的explode,爆炸。各種衝突或是攻擊常會看到爆炸相關的描述。implode,向內塌陷。。。最近剛好有美國民主黨慘敗的新聞標題:”Democratic Party begins to implode as Nancy Pelosi strikes back at Bernie Sanders over criticism after Kamala“

聯想的困難點在於,不管是爆炸還是塌陷,都是有點激烈的情況。有點難想像在這種激烈的情況下,會衝過去用一個seperator把崩塌的東西串在一起。如果是地形地物塌陷,像是橋樑塌陷,看到的話跑都來不及。如果是烹飪(像是烤蛋糕)的時候坍塌,也不會想到要拿什麼東西阻止。又或者我漏了什麼關於這個單字的細節,也不太知道當初替這個function命名的原因,如果以後有看到再來補上。

暫時還是想成JS的join()好了

加映: explode

有趣的是implode對應的function就叫explode,用來把字串用separator分開後放進array回傳
https://www.php.net/manual/en/function.explode.php

$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

跟JavaScript的 split也很像
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
```js
const str = 'The quick brown fox jumps over the lazy dog.';

const words = str.split(' ');
console.log(words[3]); // fox
``


#PHP #implode #explode







Related Posts

閉包

閉包

實作 Redux(五):reducer

實作 Redux(五):reducer

【隨堂筆記】運算思維與流程圖

【隨堂筆記】運算思維與流程圖


Comments