CodeIgniter模板解析器将多维数组转换为单个

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.