If i have an array with 2 dynamic values like this :
$people = array(
"george" => "smith"
);
How can i push into that in php?
I have tried
array_push($people, "john" => "smith");
EDIT :
I have tried what has been commented but adding a new key doesnt create a new entry in the array, there is only 1 value although there should be 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);
If new element has a defined key:
$people['newkey'] = 'newvalue';
Without any defined key:
$people[] = 'newvalue';
Array push but without key
array_push($people,'mark');
with key
$people['keytest'] = test;
In this case, array_push
will not work because there is not next index. What you can do is:
$people['new_key'] = 'new_value';
But it will replace the old value with same key if exist. So you can handle it with isset
function.
if(isset($people['new_key'])){
// do some stuff here!
}
else{
$people['new_key'] = 'new_value';
}
Fixed it by using
$people[] = array($num->textContent => $name->textContent);