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 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)