Re: [請益] 變數轉陣列
※ 引述《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
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
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章