如果我有一个包含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);
答案 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);