transformasi tatasusunan php
習慣沉默
習慣沉默 2017-06-12 09:22:11
0
4
1020

Tatasusunan php adalah seperti berikut

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"
  }
}

Bagaimana susunan di atas menjadi seperti di bawah

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

membalas semua(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);
?>
我想大声告诉你

Jawapan yang diberikan oleh responden di tingkat atas semuanya agak baik, dan saya tidak dapat menahan diri untuk meluahkan keburukan saya

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

Ia sebenarnya agak mudah Jawapannya tidak jauh berbeza, jadi saya hanya akan menambah beberapa penjelasan

Pertama sekali, anda perlu belajar melintasi foreach, dan kemudian PHP ialah bahasa yang ditaip lemah, dan jenis pembolehubah ditukar dengan sendirinya

Oh ya, perkara lain yang anda perlu tahu ialah $arr[] = $var, iaitu seperti menambah elemen pada penghujung tatasusunan Kaedah lain ialah array_push($arr, $var), tetapi kaedah ini kurang cekap daripada yang pertama

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan