search

Home  >  Q&A  >  body text

php - array traversal problem

How to convert such an array

$arrs = [
    $names = [
        0 => '张三',
        1 => '李四',
        2 => '王五'
    ],
    $age = [
         0 => 20,
         1 => 18,
         2 => 16,    
    ],
    $class = [
        0 => '一班',
        1 => '三班',
        2 => '二班', 
    
    ]

]

converts to


$arr = [
    0 => [
        'name' =>'张三',
        'age' => 20,
        'class' => '一班'
    ],
    1 => [
        'name' =>'李四',
        'age' => 18,
        'class' => '三班'
    ],
    2 => [
        'name' =>'王五',
        'age' => 16,
        'class' => '二班'
    ]

]
曾经蜡笔没有小新曾经蜡笔没有小新2822 days ago364

reply all(5)I'll reply

  • 仅有的幸福

    仅有的幸福2017-05-16 13:00:37

    Let’s get one that doesn’t require specifying a key value.

    for($i = 0; $i< count($arrs);$i++) {
        $item[] = array_map(function($v) use($i){
            return $v[$i];
        }, $arrs);
    }

    reply
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:00:37

    There may be something wrong with your original data structure...

    $returnarr = array();
    foreach($arrs['names'] as $key=>$val) {
        $studmsg = array();
        $studmsg['name'] = $val;
        $studmsg['age'] = $arrs['age'][$key];
        $studmsg['class'] = $arrs['class'][$key];
        $returnarr[] = $studmsg;
    }
    var_dump($returnarr);

    reply
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:00:37

    $total = count($arrs['names']);
    $arr = [];
    for($i =0; $i <= $total; $i++) {
        $person = array(
            'name' => $arrs['names'][$i],
            'age' => $arrs['age'][$i],
            'class' => $arrs['class'][$i]
        );
        $arr[] = $person;
    }
    var_dump($arr);

    reply
    0
  • 大家讲道理

    大家讲道理2017-05-16 13:00:37

    
    $arr = [];
    for($i =0; $i <=  count($arrs['names']); $i++) {
        $arr[$i] = array(
            'name' => $arrs['names'][$i],
            'age' => $arrs['age'][$i],
            'class' => $arrs['class'][$i]
        );
    }
    var_dump($arr);

    reply
    0
  • 为情所困

    为情所困2017-05-16 13:00:37

    $arr = [];
    foreach($arrs['names'] as $key=>$val) {
        $arr[count($arr)] = array(
            'name' => $val,
            'age' => $arrs['age'][$key],
            'class' => $arrs['class'][$key]
        );
    }
    var_dump($arr);

    reply
    0
  • Cancelreply