php 数组拆分问题

rightsuaid 2017-12-13 06:45:50
$arr=Array
(
[1] => Array
(
[A] => X110100
[B] => 北京
[C] => 0.6392455858748
[D] => 0.65446428571429
)

[2] => Array
(
[A] => X110101
[B] => 昌平区
[C] => 0.72727272727273
[D] => 0.69198312236287
)
[3] => Array
(
[A] => X110102
[B] => 朝阳区
[C] => 0.66503667481663
[D] => 0.676
)

[4] => Array
(
[A] => X110103
[B] => 大兴区
[C] => 0.75
[D] => 0.75598086124402
)

);这种数组怎么拆分为以下这种形式 里面的元素个数不确定:

Array
(
[1] => Array
(
[A] => X110100
[B] => 北京
[C] => 0.6392455858748

)
[2] => Array
(
[A] => X110100
[B] => 北京
[D] => 0.65446428571429
)

[3] => Array
(
[A] => X110101
[B] => 昌平区
[C] => 0.72727272727273

)
[4] => Array
(
[A] => X110101
[B] => 昌平区
[D] => 0.69198312236287
)

...全文
114 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rightsuaid 2017-12-14
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
$z=array(                                                       
    '1'=>array(
        '1'=>'北京',
        '2'=>'11111',
        '3'=>'22222',
        '4'=>'33333',
        ),
    '2'=>array(
        '1'=>'上海',
        '2'=>'44444',
        '3'=>'55555',
        '4'=>'66666',
        ),
    );
foreach($z as $a) {
  $b = array_slice($a, 0, 1, true);
  $c = array_slice($a, 1, count($a), true);

  foreach($c as $k=>$v) {
    $t = $b;
    $t[$k] = $v;
    $r[] = $t;
  }
}
var_export($r);

array (
  0 => 
  array (
    1 => '北京',
    2 => '11111',
  ),
  1 => 
  array (
    1 => '北京',
    3 => '22222',
  ),
  2 => 
  array (
    1 => '北京',
    4 => '33333',
  ),
  3 => 
  array (
    1 => '上海',
    2 => '44444',
  ),
  4 => 
  array (
    1 => '上海',
    3 => '55555',
  ),
  5 => 
  array (
    1 => '上海',
    4 => '66666',
  ),
)
谢谢版主大哥了
xuzuning 2017-12-13
  • 打赏
  • 举报
回复
$z=array(                                                       
    '1'=>array(
        '1'=>'北京',
        '2'=>'11111',
        '3'=>'22222',
        '4'=>'33333',
        ),
    '2'=>array(
        '1'=>'上海',
        '2'=>'44444',
        '3'=>'55555',
        '4'=>'66666',
        ),
    );
foreach($z as $a) {
  $b = array_slice($a, 0, 1, true);
  $c = array_slice($a, 1, count($a), true);

  foreach($c as $k=>$v) {
    $t = $b;
    $t[$k] = $v;
    $r[] = $t;
  }
}
var_export($r);

array (
  0 => 
  array (
    1 => '北京',
    2 => '11111',
  ),
  1 => 
  array (
    1 => '北京',
    3 => '22222',
  ),
  2 => 
  array (
    1 => '北京',
    4 => '33333',
  ),
  3 => 
  array (
    1 => '上海',
    2 => '44444',
  ),
  4 => 
  array (
    1 => '上海',
    3 => '55555',
  ),
  5 => 
  array (
    1 => '上海',
    4 => '66666',
  ),
)
rightsuaid 2017-12-13
  • 打赏
  • 举报
回复
$z=array( '1'=>array( '1'=>'北京', '2'=>'11111', '3'=>'22222', '4'=>'33333', ), '2'=>array( '1'=>'上海', '2'=>'44444', '3'=>'55555', '4'=>'66666', ), ); 拼成下面: $z=array( '1'=>array( '1'=>'北京', '2'=>'11111', ), '2'=>array( '1'=>'北京', '3'=>'22222', ), '3'=>array( '1'=>'北京', '4'=>'33333', ), );
rightsuaid 2017-12-13
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
奇怪的需求
没办法啊 我做的是把excel里面的数据解析出来导入数据库 有很多内容
xuzuning 2017-12-13
  • 打赏
  • 举报
回复
奇怪的需求

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧