dongman2721 2019-07-08 15:58
浏览 50
已采纳

数组有一个数组和一个非数组元素[关闭]

I have an array like this

$data = array(
'class'=>'1',
'class_section'=>array('a','b','c'),
'class_fee'=>'500');

I want that this array become

$data = array(
array('class'=>'1', 'class_section'=>'a', 'class_fee'=>500),
array('class'=>'1', 'class_section'=>'b', 'class_fee'=>500),
array('class'=>'1', 'class_section'=>'c', 'class_fee'=>500)
);

I want that this array become

$data = array(
array('class'=>'1', 'section'=>'a', 'fee'=>500),
array('class'=>'1', 'section'=>'b', 'fee'=>500),
array('class'=>'1', 'section'=>'c', 'fee'=>500)
);
  • 写回答

2条回答 默认 最新

  • dongsong8932 2019-07-08 16:18
    关注

    You can do it by many differnt ways.One way to do it with foreach() loop,

    <?php
    $data = array(
    'class'=>'1',
    'class_section'=>array('a','b','c'),
    'class_fee'=>'500'
    );
    
    $len = count($data);
    for($i=0;$i<$len;$i++){
     foreach($data as $k=>$v){
        if(is_array($v)){
            $result[$i][$k] = $v[$i];
        }else{
            $result[$i][$k] = $v;
        }
     }
    }
    print_r($result);
    ?>
    

    WORKING DEMO: https://3v4l.org/N4YvD

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用