2015-01-13 75 views
-4

我有一個字符串逗號分隔字符串數組與關鍵PHP

$tailored_information="3, 5, 10, 13, 7, 6"; 

現在我需要做像

$input_array = array("Id" => 3, "Id" => 5); 

數組我使用的這個,但不行,因爲我不能添加關鍵ID

explode(",", $tailored_information) 
+1

你可以爆炸它。但你不能擁有同樣的鑰匙。鍵應該是唯一的 – Ghost

+1

'$ input_array = array(「Id」=> 3,「Id」=> 5);'如果你將有相同的鍵的數組,那麼所有的值將被覆蓋上一個值。 – prava

+0

有時我不明白人們的目的 –

回答

0

數組必須具有唯一鍵。此外,你現在將在你的值中有空格

你可以做的是爆炸", ",然後將該陣列作爲你的陣列馬上。如果你想要/需要的鑰匙總是「Id」,那麼無論如何它都無所謂。

+0

所有數組都需要具有唯一的關鍵字。 – Cyclonecode

+0

是的,沒錯。把關聯放在那裏,因爲這是什雷的目標 – Ieuan

0

如前所述,不能讓數組具有相同的密鑰,因爲它是一個散列表,每次都會覆蓋「id」。 我建議你用簡單的

explode(", ", $id_array); 

explode(", ", $another_arr['id']); 

這樣你會組的數據由ID ...

如果你想進入一些更復雜的 - 你可以創建你自己的數據結構,這將是非唯一陣列 - 你將通過鍵劃分不同的值... 這種方式的打印版本將是你想要的任何...

-1
<?php 
$abc = "3, 5, 10, 13, 7, 6"; 
$new_array = explode(',',$abc); 
$new_id_array = array(); 
foreach($new_array as $key=>$val){; 
    $new_id_array[$key]['id'] = $val; 
} 
print_r($new_id_array); 
?> 

您不能將同一個鍵放在數組鍵中。所以爲了你必須創建一個嵌套的數組。這將解決你的問題,現在你可以有相同的數組密鑰,但在不同的陣列。或

$abc = "3, 5, 10, 13, 7, 6"; 
$new_array = explode(',',$abc); 
foreach($new_array as $key=>$val){ 
    $new_id_array['id_'.$key] = $val; 
}