[請益] 請問如何使用數字字串作為array的key?
大家好
小弟目前遇到的一個問題是
我現在有許多從資料庫或純文字檔中取出的資料
內容可能不大一定, 但相同的是他們都有一樣的id值
所以, 在某些簡單的情況下,
以id當作key, 用associate array來存資料就是個很直覺的作法了
但問題來了, 如果我以從檔案parse出來的id字串當作key來存資料
根據PHP官方網站的說法, 只要是一個表達了標準數字格式的字串被用作array的key
那該key值就會真的被當作整數來使用
也就是
$a = array();
$a["123"] = "text";
var_dump出來就會是 array(1) { [123]=> string(4) "text" }
請問一下, 該怎麼解決這個必須用數字字串當作key值得問題呢?
謝謝大家囉^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.23.50.145
→
04/10 19:35, , 1F
04/10 19:35, 1F
→
04/10 20:33, , 2F
04/10 20:33, 2F
→
04/10 21:16, , 3F
04/10 21:16, 3F
→
04/10 21:17, , 4F
04/10 21:17, 4F
→
04/10 21:18, , 5F
04/10 21:18, 5F
→
04/10 21:31, , 6F
04/10 21:31, 6F
→
04/10 21:38, , 7F
04/10 21:38, 7F
→
04/10 21:38, , 8F
04/10 21:38, 8F
→
04/11 07:04, , 9F
04/11 07:04, 9F
→
04/11 07:05, , 10F
04/11 07:05, 10F
→
04/11 07:05, , 11F
04/11 07:05, 11F
→
04/11 09:57, , 12F
04/11 09:57, 12F
例如:
$a = array();
$a["120"] = 10;
$a["250"] = 5;
我希望根據值排序後的結果當然是:
array(2) { ["250"]=> 5, ["120"]=> 10 }
因為PHP設定上會讓數字字串轉成整數, 因此先轉再排序的後果就是
array(2) { [0]=> 5, [1]=> 10 }
"250", "120" 這兩個理應有意義的值完全消失了, 這樣的意思@@"
※ 編輯: NewSpec 來自: 211.23.50.145 (04/11 10:27)
→
04/11 10:25, , 13F
04/11 10:25, 13F
對齁
我應該是把rsort跟arsort的結果搞混了
抱歉誤導大家, 等等自刪:P
→
04/11 10:49, , 14F
04/11 10:49, 14F
※ 編輯: NewSpec 來自: 42.73.168.96 (04/11 10:58)
→
04/11 11:13, , 15F
04/11 11:13, 15F
→
04/11 11:24, , 16F
04/11 11:24, 16F
→
04/11 11:25, , 17F
04/11 11:25, 17F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章