PHP-Array-Transformation
習慣沉默
習慣沉默 2017-06-12 09:22:11
0
4
913

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']]
谢谢大神
習慣沉默
習慣沉默

Antworte allen(4)
给我你的怀抱
<?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);
習慣沉默
$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);
为情所困
<?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);
?>
我想大声告诉你

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

$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),不过这种做法效率低过第一种

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!