Re: [請益] 變數轉陣列

看板PHP作者 (K.T)時間13年前 (2012/04/03 23:09), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《o500521 (poet)》之銘言: : 大家好 : 今天小弟又有個問題了 : ex: $r2= 45.1 55.2 85.9 25.1(不一定是這樣數字 看到時程式跑出來的值) : 小弟寫... : $r2a=array($r2) : foreach ($r2a as $key => $value) : echo "{$key}=$value \n" ; : 期望...$key可以 跟著$r2的變數的各數跟著跑 : $key的部分一直保持在0的位置沒有跑 ,請問各位大大們 : 小弟該怎麼做呢!?煩惱好幾天 沒有想法... 直接解題吧,我想真的不是上一個回復的那種想法... (基本上會用 array 了不可能不懂 array(xx,xx,xx) 的寫法..) 前提猜測原PO有一段程式會跑數據,接著每跑出一段數據就把它串成字串 (當然不排除是抓遠端產生的資料) 所以就會有類似$r2 = "45.1_55.2_85.9_25.1"; (底線是空白) 而原PO的錯誤在於直接把它定義成陣列 也就是 $r2a=array($r2) 這段,這樣直接產生的結果會變成 Array ( [0] => "45.1_55.2_85.8_25.1" ) 若這樣來跑 foreach 也只會產生 45.1....25.1 的字串 key 當然也只會有 0 而已 如果原本的意思是要拆成陣列後取得每個筆數的值, 那就得先確認要怎麼拆分,在此假設是以空白當成區隔 我們可以用 explode () 這個 function array explode ( string $delimiter , string $string [, int $limit ] ) delimiter 就是要做為拆解的符號,使用空白 " " string 就是你的字串 limit 代表你要拆多長(假設2就代表出來結果的陣列會有兩筆) 原CODE 修改 $r2 = "45.1 55.2 85.8 25.1"; $r2a = explode(" ",$r2); foreach($r2a as $key => $value) { echo "{$key} = $value"; } ... 如果這樣還會錯意思就請原PO快點出來解釋吧 囧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.186.193

04/04 01:14, , 1F
php大猜謎!誰會猜對呢? :D
04/04 01:14, 1F

04/04 12:55, , 2F
選我選我選我~~~
04/04 12:55, 2F

04/05 18:09, , 3F
我選你,你回家吃藥好嗎?
04/05 18:09, 3F
文章代碼(AID): #1FUnAjGp (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
文章代碼(AID): #1FUnAjGp (PHP)