• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

重组数组 – PHP 重组二维数组

php 搞代码 3年前 (2022-01-25) 16次浏览 已收录 0个评论
文章目录[隐藏]

如何将原二维数组重组成以下形式?

原数组

<code>Array([0] => Array    (        [第1-2节] =>         [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205        [第5-6节] => Linux高级应用_每周_XXXX_01-15周_A-910        [第7-8节] => 网络安全_每双周_XXXX_01-15周_A-507        [第9-10节] =>     )[1] => Array    (        [第1-2节] => IPV6技术_每周_XXXX_01-14周_S1-303        [第3-4节] =>         [第5-6节] => 网络安全_每周_XXXX_01-15周_C-408        [第7-8节] =>         [第9-10节] =>     )[2] => Array    (        [第1-2节] => 网络营销_每周_XXXX_01-14周_C-201        [第3-4节] =>         [第5-6节] => 就业指导_每周_XXXX_11-12周_B-202        [第7-8节] =>         [第9-10节] =>     )[3] => Array    (        [第1-2节] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开发与维护_每双周_张劲波_01-15周_A-910        [第3-4节] =>         [第5-6节] => Cisco高级应用_每周_XXXX_01-14周_S1-305        [第7-8节] => Linux高级应用_每周_XXXX_01-15周_S1-303        [第9-10节] =>     )[4] => Array    (        [第1-2节] => 网络安全_每周_XXXX_01-15周_A-508        [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908        [第5-6节] =>         [第7-8节] =>         [第9-10节] =>     ))</code>

重组后的格式为:

<code>Array([0] => Array    (        [第1-2节] =>         [第1-2节] => IPV6技术_每周_XXXX_01-14周_S1-303        [第1-2节] => 网络营销_每周_XXXX_01-14周_C-201        [第1-2节] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开发与维护_每双周_XXXX_01-15周_A-910        [第1-2节] => 网络安全_每周_XXXX_01-15周_A-508    )[1] => Array    (        [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205        [第3-4节] =>         [第3-4节] =>         [第3-4节] =>         [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908    )[2] => Array    (        [第5-6节] => Linux高级应用_每周_XXXX_01-15周_A-910        [第5-6节] => 网络安全_每周_XXXX_01-15周_C-408        [第5-6节] => 就业指导_每周_XXXX_11-12周_B-202        [第5-6节] => Cisco高级应用_每周_XXXX_01-14周_S1-305        [第5-6节] =>     )[3] => Array    (        [第7-8节] => 网络安全_每双周_XXXX_01-15周_A-507        [第7-8节] =>         [第7-8节] =>         [第7-8节] => Linux高级应用_每周_XXXX_01-15周_S1-303        [第7-8节] =>     )[4] => Array    (        [第9-10节] =>         [第9-10节] =>         [第9-10节] =>         [第9-10节] =>         [第9-10节] =>     ))</code>

回复内容:

如何将原二维数组重组成以下形式?

原数组

<code>Array([0] => Array    (        [第1-2节] =>         [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205        [第5-6节] => Linux高级应用_每周_XXXX_01-15周_A-910        [第7-8节] => 网络安全_每双周_XXXX_01-15周_A-507        [第9-10节] =>     )[1] => Array    (        [第1-2节] => IPV6技术_每周_XXXX_01-14周_S1-303        [第3-4节] =>         [第5-6节] => 网络安全_每周_XXXX_01-15周_C-408        [第7-8节] =>         [第9-10节] =>     )[2] => Array    (        [第1-2节] => 网络营销_每周_XXXX_01-14周_C-201        [第3-4节] =>         [第5-6节] => 就业指导_每周_XXXX_11-12周_B-202        [第7-8节] =>         [第9-10节] =>     )[3] => Array    (        [第1-2节] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开<i style="color:transparent">本文来源gaodai$ma#com搞$$代**码)网8</i><strong>搞代gaodaima码</strong>发与维护_每双周_张劲波_01-15周_A-910        [第3-4节] =>         [第5-6节] => Cisco高级应用_每周_XXXX_01-14周_S1-305        [第7-8节] => Linux高级应用_每周_XXXX_01-15周_S1-303        [第9-10节] =>     )[4] => Array    (        [第1-2节] => 网络安全_每周_XXXX_01-15周_A-508        [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908        [第5-6节] =>         [第7-8节] =>         [第9-10节] =>     ))</code>

重组后的格式为:

<code>Array([0] => Array    (        [第1-2节] =>         [第1-2节] => IPV6技术_每周_XXXX_01-14周_S1-303        [第1-2节] => 网络营销_每周_XXXX_01-14周_C-201        [第1-2节] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开发与维护_每双周_XXXX_01-15周_A-910        [第1-2节] => 网络安全_每周_XXXX_01-15周_A-508    )[1] => Array    (        [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205        [第3-4节] =>         [第3-4节] =>         [第3-4节] =>         [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908    )[2] => Array    (        [第5-6节] => Linux高级应用_每周_XXXX_01-15周_A-910        [第5-6节] => 网络安全_每周_XXXX_01-15周_C-408        [第5-6节] => 就业指导_每周_XXXX_11-12周_B-202        [第5-6节] => Cisco高级应用_每周_XXXX_01-14周_S1-305        [第5-6节] =>     )[3] => Array    (        [第7-8节] => 网络安全_每双周_XXXX_01-15周_A-507        [第7-8节] =>         [第7-8节] =>         [第7-8节] => Linux高级应用_每周_XXXX_01-15周_S1-303        [第7-8节] =>     )[4] => Array    (        [第9-10节] =>         [第9-10节] =>         [第9-10节] =>         [第9-10节] =>         [第9-10节] =>     ))</code>

<code class="lang-php">[1] => Array    (        [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_S1-205        [第3-4节] =>         [第3-4节] =>         [第3-4节] =>         [第3-4节] => Web网站开发与维护_每周_XXXX_01-15周_A-908    )</code>

这种key相同的写法,后面的key会覆盖前面的,你应该是期望得到这种结果:

<code class="lang-php">[第1-2节] => Array    (        [0] =>         [1] => IPV6技术_每周_XXXX_01-14周_S1-303        [2] => 网络营销_每周_XXXX_01-14周_C-201        [3] => Linux高级应用_每单周_XXXX_01-15周_A-910/Web网站开发与维护_每双周_XXXX_01-15周_A-910        [4] => 网络安全_每周_XXXX_01-15周_A-508    )[第3-4节] => Array    (        [0] => Web网站开发与维护_每周_XXXX_01-15周_S1-205        [1] =>         [2] =>         [3] =>         [4] => Web网站开发与维护_每周_XXXX_01-15周_A-908    )</code>

可以写一个function:

<code class="lang-php">    public function listData($arr){        if(empty($arr)) return array();        $listData = array();        foreach($arr as $key=>$value){            foreach($value as $k=>$v){                $listData[$k][] = $v;            }        }        return $listData;    }</code>

测试数组

<code class="lang-php">$arr  = array(    0=>array(        'a'=>1,        'b'=>2,        'c'=>3,    ),    1=>array(        'a'=>11,        'b'=>22,        'c'=>33,    ),    2=>array(        'a'=>111,        'b'=>222,        'c'=>333,    ),);</code>

得到:

<code class="lang-php">array  'a' =>     array      0 => int 1      1 => int 11      2 => int 111  'b' =>     array      0 => int 2      1 => int 22      2 => int 222  'c' =>     array      0 => int 3      1 => int 33      2 => int 333</code>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:重组数组 – PHP 重组二维数组

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址