在php中推入二维数组

时间:2016-03-29 10:19:04

标签: php

如果我有一个包含2个动态值的数组:

 $people = array(
    "george" => "smith"
);

我怎样才能在php中推进?

我试过了

array_push($people, "john" => "smith");

编辑:

我已经尝试过评论但添加新密钥并不会在数组中创建新条目,只有1个值,尽管应该有3个..

 $people = array();

foreach ($items as $item){

    $name = $item->getElementsByTagName('name')->item(0);
    $num = $item->getElementsByTagName('number')->item(0);
    $mess = $item->getElementsByTagName('message')->item(0);

    if($name != NULL && $num != NULL && $mess != NULL){
        $people[$num->textContent] = $name->textContent;

    }

}
 var_dump($people);

4 个答案:

答案 0 :(得分:1)

如果新元素具有已定义的键:

$people['newkey'] = 'newvalue';

没有任何已定义的键:

$people[] = 'newvalue';

答案 1 :(得分:0)

数组推送但没有键

array_push($people,'mark');

带钥匙

$people['keytest'] = test;

答案 2 :(得分:0)

在这种情况下,array_push将无效,因为没有下一个索引。 你能做的是:

$people['new_key'] = 'new_value';

但如果存在,它将用相同的键替换旧值。因此,您可以使用isset函数来处理它。

if(isset($people['new_key'])){
    // do some stuff here!
}
else{
    $people['new_key'] = 'new_value';
}

答案 3 :(得分:0)

使用

修正了它
$people[] = array($num->textContent => $name->textContent);