dongzhu7329 2011-11-24 09:20
浏览 37
已采纳

PHP数组父/子显示/继承

I have an piece of my array here:

   [0] => stdClass Object
    (
        [id] => 8005
        [parentid] => 8004
        [name] => a, b
        [level] => 1
        [prodtypename] => 1, 2, 3, 4
    )

[1] => stdClass Object
    (
        [id] => 8006
        [parentid] => 8005
        [name] => c
        [level] => 2
        [prodtypename] => 
    )

[2] => stdClass Object
    (
        [id] => 8007
        [parentid] => 8005
        [name] => d
        [level] => 2
        [prodtypename] => 
    )

In my form I display them like:

 <?php foreach ($this->myArray as $item): ?>
 <?php echo $item->prodtypename ?>

it displays me current category and its current type. I need to display parent "prodtypename" next to child type, so we can know, what is parents types for current child category. Im trying to make display look something like this:

 [1] => stdClass Object
    (
        [id] => 8006
        [parentid] => 8005
        [name] => c
        [level] => 2
        [prodtypename] => 1,2,3,4
    )

Because parents "prodtypename" have 1.2.3.4, so the child inherits it. Thanks.

  • 写回答

1条回答 默认 最新

  • duanfoumi5620 2011-11-24 09:39
    关注

    Based on the array you have already something like this might work assuming that you can rely on parents always appearing in the array before their children:

    $prodTypeNames = array();
    foreach ($this->myArray as $item) {
        $prodTypeName = $item->prodtypename;
        if( is_null( $item->prodtypename ) && isset( $prodTypeNames[$item->parentid] ) ) {
            $prodTypeName = $prodTypeNames[$item->parentid];
        }
        $prodTypeNames[$item->id] = $prodTypeName;
        echo $prodTypeName;
    }
    

    But you're probably better off getting the data in a better format to begin with.

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

报告相同问题?

悬赏问题

  • ¥15 GD32 SPI通信时我从机原样返回收到的数据怎么弄?
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?