PHP 排序整數演算法 - Radix sort 實做

PHP 排序有 sortksort... 等等一堆可以使用, 也都可以拿來排序整數, 速度不一定會比這個演算法慢, 請自行注意使用~ 🙂

閱讀全文〈PHP 排序整數演算法 - Radix sort 實做〉

用 PHP 抓取下星期二的 Timestamp - strtotime()

日期的轉換只要把日期轉成 Timestamp, 就可以使用 date() 轉成自己想要的格式.

strtotime() 很常用, 通常都是把 "2012-02-12 22:11:10" 丟進去, 轉成 Timestamp.

最近想要抓某個日期, 或者是上週、下週、上個星期一、下個星期二.. 等等的時間, 才發現 strtotime() 強的很過份. XD

官方文件詳見下述:

閱讀全文〈用 PHP 抓取下星期二的 Timestamp - strtotime()〉

PHP 的 Interactive shell 模式

臨時要測個簡單的程式片段 或 Function, 一般都會於 CLI 寫來跑一跑, Interactive 模式 可以邊寫邊測試~ (互動模式, 寫完一行就 Compile 一行)

而 PHP CLI 的模式有兩種差異: (執行方法: $ php -a, 說明可見: PHP: Interactive shell)

  • Interactive shell 比較像是 互動式, 有問有答的執行程式.
  • Interactive mode enabled 則是輸入一整個區塊的程式碼, Ctrl-D 執行.

閱讀全文〈PHP 的 Interactive shell 模式〉

好書: 深入理解 PHP 核心 (TIPI 電子書)

PHP 是如何撰寫的? 關於 PHP 此程式語言核心的深入研究(TIPI: Thinking In PHP Internal).

註: 深入理解 PHP 內核 有線上版 和 PDF 電子書版, 目前都是簡體版.

於 PHP 安裝使用 Google LevelDB extension

LevelDB (leveldb - a fast and lightweight key/value database library) 是 Google 開發非常快速的 key-value 儲存的函式庫, 效能看起來相當不錯: LevelDB Benchmarks, 且 LevelDB 的資料, 都會經過 Snappy 壓縮, 所以資料也會比較小.

註: 下述安裝環境為 Debian / Ubuntu Linux

閱讀全文〈於 PHP 安裝使用 Google LevelDB extension〉

PHP 讓 json_encode() 指定回傳格式

PHP 回傳 JSON 很方便, 只要將資料經過 json_encode() 就解決了.

不過因為 PHP 自動轉換型別, 造成很多資料都習慣存成字串, 希望在輸出 JSON 的時候, 數字部份可以輸出成數字, 該怎麼做呢?

另一個問題, PHP 轉換成 JSON, 部份陣列會被轉成物件(因為 JavaScript 陣列的 Key 必須是數字, 所以會轉成物件), 要全部強制轉成物件, 該怎麼做呢?

閱讀全文〈PHP 讓 json_encode() 指定回傳格式〉