dozabt4329 2018-03-22 18:15
浏览 60
已采纳

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...

  • 写回答

1条回答 默认 最新

  • doupu3635 2018-03-22 21:58
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题