suchen

Heim  >  Fragen und Antworten  >  Hauptteil

PHP-Array-Transformation

Das PHP-Array ist wie folgt

array(6) {
  [17]=>
  array(1) {
    [0]=>
    string(1) "1"
  }
  [11]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [10]=>
  array(1) {
    [0]=>
    string(1) "6"
  }
  [9]=>
  array(1) {
    [0]=>
    string(1) "1"
  }
}

Wie wird das obige Array wie das untenstehende?

[['17','1'],['11','2'],['10','6'],['9','1']]
谢谢大神
習慣沉默習慣沉默2781 Tage vor1045

Antworte allen(4)Ich werde antworten

  • 给我你的怀抱

    给我你的怀抱2017-06-12 09:24:11

    <?php
    $arrayOld = array(
        '17' => array('1'),
        '11' => array('2'),
        '10' => array('6'),
        '9' => array('1'),
    );
    $arrayNew = [];
    
    foreach($arrayOld as $key => $value){
        $arrayNew[] = [(string)$key,$value[0]];
    }
    
    var_export ($arrayNew);

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-06-12 09:24:11

    $old = array(
        '17' => '1',
        '11' => '2',
        '10' => '6',
        '9' => 1 
    );
    
    $new = array_chunk($old, 1, true);
    foreach ($new as $key => &$val) {
        array_unshift($val, $key);
    }
    var_dump($new);

    Antwort
    0
  • 为情所困

    为情所困2017-06-12 09:24:11

    <?php
    
      $data= array(
        '17' => array('1'),
        '11' => array('2'),
        '10' => array('6'),
        '9' => array('1'),
      );
    
      function maps(&$array,$key) {
        array_unshift($array, $key);
      }
    
      array_walk($data, 'maps');
      print_r($data);
    ?>

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-12 09:24:11

    楼上答主们给的答案都挺不错的了,我也忍不住献一下丑

    $old = [
      '17' => ['1'],
      '11' => ['2'],
      '10' => ['6'],
      '9' => ['1'],
    ];
    $new = [];
    foreach ($old as $key => $value) {
      $new[] = [$key, $value[0]];
    }
    var_dump($new);

    其实挺简单的,答案都不会差到哪里去,我就简单的补充说明一下好了

    首先是,要学会遍历foreach,然后就是php是一门弱类型的语言,变量类型回自己转换的

    哦对,再有就是要知道$arr[] = $var,是像数组的末尾添加元素,还有一种方法是array_push($arr, $var),不过这种做法效率低过第一种

    Antwort
    0
  • StornierenAntwort