2014-01-07 133 views
1

我正在努力將新值動態添加到關聯數組中,我需要您的幫助。 下面是一個簡單的例子:將值添加到關聯數組

$a = array(); 
$a["name"]= "n1"; 
$a["age"]= "age1"; 
$a["name"]= "n2"; 
$a["age"]= "age2"; 

結果是: 陣列(2){[ 「名稱」] =>串(2) 「N2」[ 「年齡」] =>串(4)「 age2「}

我想將第一個年齡和姓名以及第二年齡和姓名添加到數組中。我能做什麼??

+1

數組鍵名稱不能相同的所有。這裏的名稱,年齡重複。使用子陣列 –

回答

6

如果你想保持名< =>年齡關係:

$a = array(); 
$a[] = array("name"=>"n1","age"=>"age1"); 
$a[] = array("name"=>"n2","age"=>"age2"); 

UPDATE:使用下面的例子:

foreach ($a as $assoc) { 
    echo $assoc["name"],' is ',$assoc["age"],'.<br />'; 
} 
+0

這樣,我怎樣才能使用foreach獲取值? –

+0

@Fay更新的答案來說明。 – Calimero

+0

Thanx :)你的回答幫了我:) –

1
$a = array(); 
$a["name"][]= "n1"; 
$a["age"][]= "age1"; 
$a["name"][]= "n2"; 
$a["age"][]= "age2"; 
+0

請不要加「謝謝」作爲答案。相反,投票答案,你覺得有幫助。 –

+0

@ A.Singh你在說什麼? – Peon

+0

這會產生不同的結果。謝謝你;) –

1

您可以通過這種方式做

$a = array(
    array(
     'name' => 'n1', 
     'age' => 'age1' 
), 
    array(
     'name' => 'n2', 
     'age' => 'age2' 
) 
); 
2
$a = array(); 
array_push($a, array("name"=>"n1","age"=>"age1")); 
array_push($a, array("name"=>"n2","age"=>"age2")); 

array_push

+0

謝謝。它正在工作。 :) –

1

這是非常容易和簡單,你可以做任何你想要的陣列!任何質疑?這裏你去:

$a = array(); 
if(is_array($a) && i_can_answer()) 
{ 
    $keys = array('age', 'name'); 
    $anotherArray = array(); 
    if(is_array($anotherArray) && i_know_multi_dimensional_arrays()) 
    { 
     array_push($anotherArray, array("+18", "ILovePHP")); 
     $result1 = array_combine($keys, $anotherArray); 
    } 
    $otherAnotherArray = array(); 
    if(is_array($otherAnotherArray) && i_am_not_tired()) 
    { 
     array_push($otherAnotherArray , array("+18", "ILovePHP")); 
     $result2 = array_combine($keys, $otherAnotherArray); 
    } 
    $a = array_merge($result1, $result2); 
} 
print_r($a); //// hoooorrraaaaaaaaaay