php 数组改造
習慣沉默
習慣沉默 2017-06-12 09:22:11
[PHP讨论组]

php数组如下

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

上面的数组 怎么变成下面的那样

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

全部回复(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),不过这种做法效率低过第一种

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号