2017-07-04 40 views
0

比方說,我有一個像創建一個從PHP字符串數組

$str = "BKL|bkl,EXH|exh,FFV|ffv,LEC|lec,AUE|aue,SEM|SEM"; 

一個字符串,我要像一個數組:

array(array("title"=>"BKL", "value"=>bkl), 
array("title"=>"EXH", "value"=>exh), 
array("title"=>"FFV", "value"=>ffv), 
array("title"=>"LEC", "value"=>lec), 
array("title"=>"AUE", "value"=>aue), 
array("title"=>"SEM", "value"=>SEM), 
); 

我已經找到了解決辦法在這裏:How to create particular array from string in php但是這是給我一個array like:

Array 
(
    [BKL] => bkl 
    [EXH] => exh 
    [FFV] => ffv 
    [LEC] => lec 
    [AUE] => aue 
    [SEM] => sem 
) 

非常感謝。

回答

1

使用您的字符串要在使用的foreach和key顯示values

演示:https://eval.in/827426

<?php 

$str = "BKL|bkl,EXH|exh,FFV|ffv,LEC|lec,AUE|aue,SEM|sem"; 

$final = array(); 

foreach (explode(',', $str) as $pair) { 
    list($key, $value) = explode('|', $pair); 
    $final[] = ['Title'=>$key .',', 'Value'=>$value]; 
} 

echo "<pre>"; 
print_r($final); 
echo "</pre>"; 
?> 
+0

謝謝,不過,我想每個內部數組後都會缺少一個逗號? – RobbTe

+0

@RobbTe .. okzz檢查這個現在.... https://eval.in/827426 –

+0

感謝您回到我身邊,但我的意思是從內部陣列後的逗號),如 [0] =>陣列 ( [標題] => BKL [超值] => BKL ), – RobbTe

1

所有你需要做的是改變陣列建立的方式......

$str = "BKL|bkl,EXH|exh,FFV|ffv,LEC|lec,AUE|aue,SEM|sem"; 

$final = array(); 

foreach (explode(',', $str) as $pair) { 
    list($key, $value) = explode('|', $pair); 
    $final[] = ['title'=>$key, 'value'=>$value]; 
} 

print_r($final); 
+0

非常感謝,我只是不確定數組是如何建立在第一個地方。大多數時候比你想象的更容易:)感謝 – RobbTe

+0

工作,但不應該在每個「內部」數組後面有一個逗號? – RobbTe

相關問題