For ex:
array(
array(
id = 1,
name= ben,
date = ""
),
array(
id=2,
name= john,
date = ""
),
array(
id =3,
name= dow,
date = ""
)
)
I have this array. As you can see these are identical arrays inside another array. Which make it a multidimensional array. Is there a way that I can assign date to all the inner array without a foreach loop ?
Thanks in Advance!
array_replace_recursive() can be pretty useful
$sample = array(
array( 'id' => 1, 'name' => 'ben'),
array( 'id' => 2, 'name' => 'john'),
array( 'id' => 3, 'name' => 'mark')
);
$count = count($sample);
$magic = array_fill(0, $count, array('date' => time()));
$result = array_replace_recursive($sample, $magic);
var_dump($result);
Though it is not very extensible, you can hard-code it. (array_map()
is probably better, though.)
$arr[0]['date'] = $date1;
$arr[1]['date'] = $date2;
$arr[2]['date'] = $date3;
You can try array_walk
array_walk($array, function(&$value, $key){
$value['date'] = time();
});
var_dump($array);
array (size=3)
0 =>
array (size=3)
'id' => int 1
'name' => string 'ben' (length=3)
'date' => int 1379060666
1 =>
array (size=3)
'id' => int 2
'name' => string 'john' (length=4)
'date' => int 1379060666
2 =>
array (size=3)
'id' => int 3
'name' => string 'dow' (length=3)
'date' => int 1379060666