2014-01-07 91 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