Reputation: 23
I have two arrays like this
array (
[0] => Array
(
[search_terms] => Big Black Gay
[searches] => 1
)
[1] => Array
(
[search_terms] => Men Seeking Men Personals
[searches] => 1
)
)
Another array like this
array (
[0] => Array
(
[search_terms] => Men Seeking Men Personals
[clicks] => 1
)
)
How can I merge above two arrays without using any looping? Any php functionality is available for this? I need this kind of an out put
Array
(
[0] => Array
(
[search_terms] => Big Black Gay
[searches] => 1
[clicks] => 0
)
[1] => Array
(
[search_terms] => Men Seeking Men Personals
[searches] => 1
[clicks] => 1
)
)
Upvotes: 1
Views: 174
Reputation: 95101
You can try
$data = array(
0 => array(
'search_terms' => 'Big Black Gay',
'searches' => 1
),
1 => array(
'search_terms' => 'Men Seeking Men Personals',
'searches' => 1
)
);
$combine = array(
0 => Array(
'search_terms' => 'Men Seeking Men Personals',
'clicks' => 1
)
);
foreach ( $data as &$item ) {
foreach ( $combine as $new ) {
if ($item['search_terms'] == $new['search_terms'])
$item['clicks'] = $new['clicks'];
}
if (! isset($item['clicks']))
$item['clicks'] = 0;
}
print_r($data);
Output
Array
(
[0] => Array
(
[search_terms] => Big Black Gay
[searches] => 1
[clicks] => 0
)
[1] => Array
(
[search_terms] => Men Seeking Men Personals
[searches] => 1
[clicks] => 1
)
)
Upvotes: 2
Reputation: 5500
Take a look at array_merge
var_dump(array_merge($array_one,$array_two));
Upvotes: 5