/ PHP

[無責] 工作碎碎念

手機發送 MMS 來寫部落格是要付出點代價的。只是我總覺得,這樣的代價會不會太大了點?

不過,我後來換算了手機上網,以 email 的方式來計算,如果不是辦那種吃到吐方案,那我發一則 email 的話,大概要 25 元新台票(以 100KBytes 計算),靠,好貴啊 =_=... 不過我這個月總共發了四則 MMS 訊息,看看月中出帳的時候會出現多少金額,如果一則不是 5 元的話,我應該會去告台灣大哥大詐欺 XD

話說,這幾天再找一些 PHP 的東西,看到討論關於 陣列相加 的問題。PHP array_merge is slow,標題下的很聳動,但是看一下討論串,自己弄個小程式來測試,大概真的就是有這麼一回事。

在 COMMENT 裡面有幾個快速的做法,問題是,鍵值怎麼辦呢?大抵上陣列相加的話,通常鍵值大多都會 don't care 的吧。如果是這樣的話,那應該是用 += 的速度應該最快。只是其中也提到了:

Using += nukes all the duplicated values, which is not feasible in this context.

另一個方式變成了:

for ($ii=0,$ll=count($ar2); $ii < $ll; ++$ii) {
    $ar1[] = $ar2[$ii];
}

不過,count() 放在迴圈裡面好像不是很妥當,拉出來速度會再快一點。

$ar2Len = count($ar2);
for ($ii=0,$ll=$ar2Len; $ii < $ll; ++$ii) {
    $ar1[] = $ar2[$ii];
}

這真的是不管它的鍵值,因為用 foreach 來做的話其實也很慢,所以在鍵值無關緊要的狀況下,這樣相加應該是最快的。至於是不是有其他方法,待研究。