doukeng1922 2016-06-13 10:17
浏览 31
已采纳

在PHP中添加新的数组元素

I have an array variable $data as below:

$data = array (
'deptIDid' =>array(
    'userid' =>array(
        '12:00' => array(
            'bookname'= 'Chemistry',
            'return'= 'false'
            )

        '12:01' => array(),
        '12:02' => array(),
        '12:03' => array(),
        '12:04' => array(),
        '12:05' => array(),
        '12:06' => array(),
        '12:07' => array(
            'bookname'= ''
            'return'= 'true'
        ),
        '12:08' => array(
            'bookname'= 'Math',
            'return'= 'false'
        ),
        '12:09' => array(),
        '12:10' => array(),
        '12:11' => array(),
        '12:12' => array(),
    ),
  )
)

The logic is the user borrowed a book in the department library. Inside the time array there is two elements userid and return. What I need to do is when the time array does not have a value. It should add a value similar from the early time until the return value become true. The output should be:

 $data = array (
'deptIDid' =>array(
    'userid' =>array(
        '12:00' => array(
            'bookname'=> 'Chemistry',
            'return'=> 'false'
            )

        '12:01' => array(
            'bookname'=> 'Chemistry',
            'return'=> 'false'
            ),
        '12:02' => array(
            'bookname'=> 'Chemistry',
            'return'=> 'false'),
        '12:03' => array(
            'bookname'=> 'Chemistry',
            'return'=> 'false'),
        '12:04' => array(
            'bookname'=> 'Chemistry',
            'return'=> 'false'),
        '12:05' => array(
            'bookname'=> 'Chemistry',
            'return'=> 'false'),
        '12:06' => array(
            'bookname'=> 'Chemistry',
            'return'=> 'false'),
        '12:07' => array(
            'bookname'=> 'Chemistry'
            'return'=> 'true'
        ),
        '12:08' => array(
            'bookname'=> 'Math',
            'return'=> 'false'
        ),
        '12:09' => array(
            'bookname'=> 'Math',
            'return'=> 'false'
        ),
        '12:10' => array(
            'bookname'=> 'Math',
            'return'=> 'false'
        ),
        '12:11' => array(
            'bookname'=> 'Math',
            'return'=> 'false'
        ),
        '12:12' => array(
            'bookname'=> 'Math',
            'return'=> 'false'
        ),
    ),
   )
 )
  • 写回答

3条回答 默认 最新

  • dsarttv037029 2016-06-13 10:28
    关注

    Try this:

    Check if array empty then add array as described below:

    $val = '';
    foreach($data['deptIDid']['userid'] as $key=>$d) {
     if(trim($data['deptIDid']['userid'][$key]['bookname']) != '') {
        $val= $data['deptIDid']['userid'][$key]['bookname'];
     }
     if(empty($d) || $data['deptIDid']['userid'][$key]['bookname'] == '') {
        $data['deptIDid']['userid'][$key] = array('bookname'=> $val,'return'=> 'false');
     }
    }
    print '<pre>';print_r($data);
    exit;
    

    Output:

    Array
    (
        [deptIDid] => Array
            (
                [userid] => Array
                    (
                        [12:00] => Array
                            (
                                [bookname] => Chemistry
                                [return] => false
                            )
    
                        [12:01] => Array
                            (
                                [bookname] => Chemistry
                                [return] => false
                            )
    
                        [12:02] => Array
                            (
                                [bookname] => Chemistry
                                [return] => false
                            )
    
                        [12:03] => Array
                            (
                                [bookname] => Chemistry
                                [return] => false
                            )
    
                        [12:04] => Array
                            (
                                [bookname] => Chemistry
                                [return] => false
                            )
    
                        [12:05] => Array
                            (
                                [bookname] => Chemistry
                                [return] => false
                            )
    
                        [12:06] => Array
                            (
                                [bookname] => Chemistry
                                [return] => false
                            )
    
                        [12:07] => Array
                            (
                                [bookname] => Chemistry
                                [return] => false
                            )
    
                        [12:08] => Array
                            (
                                [bookname] => Math
                                [return] => false
                            )
    
                        [12:09] => Array
                            (
                                [bookname] => Math
                                [return] => false
                            )
    
                        [12:10] => Array
                            (
                                [bookname] => Math
                                [return] => false
                            )
    
                        [12:11] => Array
                            (
                                [bookname] => Math
                                [return] => false
                            )
    
                        [12:12] => Array
                            (
                                [bookname] => Math
                                [return] => false
                            )
    
                    )
    
            )
    
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度