I have a multidimensional array for $this->data
Array
(
[icon] => http://localhost/uploads/icon.png
[logo] => http://localhost/uploads/logo.svg
[seo] => Array
(
[canonical] => http://localhost/profile/register/
[title] => Register
)
)
How do I change the above to
Array
(
[icon] => http://localhost/uploads/icon.png
[logo] => http://localhost/uploads/logo.svg
[canonical] => http://localhost/profile/register/
[title] => Register
)
And what happens if I have another [icon]
(a duplicate) under the [seo]
will the first [icon]
gets replace or ignore or how when I change it like above? The reason I need to convert it into single array because when I send the data for parsing, I can't get the {canonical}
and {title}
to work.
$this->data['seo']
from Profile_Controller.php
will replace $this->data
from MY_Controller.php
so right now, I'm doing a workaround like putting those seo data into another array and use array_merge
but I think there's another better way around it...
Using a foreach it's pretty easy. Just assign the array keys of seo to the main array and then unset the seo array from the main array:
<?php
$arr = [
'icon' => 'http://localhost/uploads/icon.png',
'logo' => 'http://localhost/uploads/logo.svg',
'seo' => [
'canonical' => 'http://localhost/profile/register/',
'title' => 'Register'
]
];
echo '<pre>';
print_r($arr);
foreach ($arr['seo'] as $k => $v) {
$arr[$k] = $v;
}
unset($arr['seo']);
print_r($arr);
If there is a duplicate icon
in the seo
array it will overwrite the one in the master array.