PHP 將 Array 的 Value 依照字元長到短排序

有多個字串想要依序做刪除或取代,但是可能會遇到一些問題,如下案例:

$filter 是不想出現的文字,所以要將 $string 的內容有出現這些文字,都刪除~

<?php
$string = '蘋果多少錢';
$filter = ['多少', '多少錢', '價格', '價錢'];
echo str_replace($filter, '', $string); // 蘋果錢
?>

這樣子結果會出來「蘋果錢」,而不是預期想要的「蘋果」

要怎麼解決呢?

閱讀全文〈PHP 將 Array 的 Value 依照字元長到短排序〉

PHP str_replace 陣列的對應技巧

PHP 的 str_replace()str_ireplace() 在使用上,剛開始覺得有些不太直覺的地方,不過,後來發現應該是文件沒有看仔細的因素~

  • 註:str_ireplace() 是不管大小寫,用法都一樣,此篇範例都用 str_ireplace() 來做。

閱讀全文〈PHP str_replace 陣列的對應技巧〉

使用 flat 來將 JavaScript Array 快速攤平

JavaScript 的 Array 裡面有很多層級(多維陣列),想要全部都攤平成一個一維陣列(flatten),可以怎麼做呢?

  • 註:此篇使用到的 flat(),IE 不支援。

閱讀全文〈使用 flat 來將 JavaScript Array 快速攤平〉

PHP 如何為 json_encode 移除 Array Index

PHP 與 JavaScript 串接經常回傳 JSON 格式,但是會遇到 PHP 的 Array 預設 Index (Assoc array key reference index) 都會有 1、2、3 ...,要怎麼移除這 Index 在傳給 JavaScript 呢?

閱讀全文〈PHP 如何為 json_encode 移除 Array Index〉

PHP 陣列 想 保留某些索引值 剩下全部移除

PHP 的陣列裡面,想要保留某些 Key,將其它的全部移除,要怎麼做呢?

  • 註:想要重組 URL 的 Query string 時,很常使用到此功能。

閱讀全文〈PHP 陣列 想 保留某些索引值 剩下全部移除〉

PHP 將陣列有部份「符合字串」的全部過濾移除

PHP 要對陣列的內容做過濾排除的動作,類似 grep -v 的效果,要怎麼做呢?

  • 註:grep -v:--invert-match (Invert the sense of matching, to select non-matching lines.)

閱讀全文〈PHP 將陣列有部份「符合字串」的全部過濾移除〉

PHP 將 CSV 使用第一欄當 Key 來轉成陣列

PHP 想將 CSV 轉成陣列,只要使用 str_getcsv() 即可,不過 CSV 的格式通常不會讓人這麼好過,CSV 常見幾個問題先列在下面:

  1. Big5 編碼 (Excel 存檔成 CSV 和要打開預設都是需要 Big5)
  2. BOM (若有存 UTF-8 的話,大多數會有 BOM)
  3. 分隔符號 (常見 "\t" 和 ","),有時候還會確保整個字串,會用 """ 包起來 (三個 double quote)
  4. 第一行是標題,想直接拿來當 Key 操作

在此篇上述就不解決(其它文章有寫解法,在此不詳述),只解決 3 和 4 的問題。

閱讀全文〈PHP 將 CSV 使用第一欄當 Key 來轉成陣列〉