处理三维数组,重新组合

0x01

三维数组中,选取其中的数据,重新组合 摘自SF上 记录下

Code:

-------

function combineDika($data) {
    $result = array();
    foreach (array_shift($data) as $k=>$item) {
        $result[] = array($k=>$item);
    }

    foreach ($data as $k => $v) {
        $result2 = [];
        foreach ($result as $k1=>$item1) {
            foreach ($v as $k2=>$item2) {
                $temp     = $item1;
                $temp[$k2]   = $item2;
                $result2[] = $temp;
            }
        }
        $result = $result2;
    }
    return $result;
}

$skuattr = Array
(
    ‘7‘  => Array
    (
        ‘6‘ => ‘22x33‘,
        ‘9‘ => ‘44x55‘,
    ),

    ‘8‘  => Array
    (
        ‘12‘ => ‘大小号‘
    ),

    ‘9‘  => Array
    (
        ‘8‘  => ‘金属质‘,
        ‘13‘ => ‘塑料‘,
    ),

    ‘16‘ => Array
    (
        ‘14‘ => ‘圆形‘
    )

);

$a = combineDika($skuattr);
print_r($a);

  0x02

三维数组 转化为二维数组

<?php
    $array = array(‘0‘=>array(‘1‘=>‘a‘,‘2‘=>‘b‘),           ‘1‘=>array(‘3‘=>‘c‘,‘4‘=>‘d‘),            );
    foreach ($array as $key=>$value){
       foreach($value as $k=>$v){
         $data[] =$v;
       }
    }
    print_r($data);
?>

  

时间: 2024-10-25 19:21:27

处理三维数组,重新组合的相关文章

*三维数组的初始化及遍历三个for循环

package com.chongrui.test; /* *三维数组的初始化及遍历 * */ public class test { public static void main(String[] args) { int a[][][]=new int[][][]{ {{1,2,3},{4,5,6}}, {{8,9,10},{11,12,13}}, {{14,15,16},{17,18,19,20}}, }; for(int i=0;i<a.length;i++){ System.out.p

JAVA的 一维数组、二维数组、三维数组、多维数组等。

这个数组可以看做新手学习,从一维数组 到 多维 数组 循环渐进,其实看起也很简单,一看便知,众所周知,一维.二维或许经常用到,用到二维以上应该就很少了. public class test { public static void main(String[] args) { /*一维数组*/ int num[] = {0,1,2}; /*下面输出 3 行数据,0 ~ 2*/ for (int i = 0; i < num.length; i++) { System.out.println("

CUDA三维数组

http://hpcbbs.it168.com/forum.php?mod=viewthread&tid=1643 根据上面链接的帖子研究了下三维数组,就像他自己说的一样是有问题的,我自己修改了下,结果终于正确了.大家有兴趣的可以对照着看看. 整个过程关键参考了这篇文章http://www.xuebuyuan.com/685353.html 1 #include <stdio.h> 2 //#include <cutil.h> 3 #include <helper_c

Jni :三维数组处理方法 ,以整形三维数组为例 C++实现

本文原创,转载请注明地址:http://www.cnblogs.com/baokang/p/4982846.html 关于Jni的基本使用方法,请参阅:Java 调用 C++ (Java 调用 dll)康哥手把手教你 关于Jni的调试,请参阅:Jni 调试 : eclipse + Vs 联合调试 不废话了,直接上代码 1.java native 接口 /** * 将三维数组src中的每一个元素平方,dst进行输出 * @param src 输入 * @param dst 输出 */ public

一维数组,二维数组,三维数组,数组与指针,结构体数组,通过改变指针类型改变访问数组的方式

 打印数组中的每个元素,打印每个元素的地址: #include <stdio.h> #include <stdlib.h> void main(void) { int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for (int *p = a; p < a + 10;p++)  //指针类型决定4个字节 { printf("\n%p,%d", p, *p); } getchar(); } 指针数组 #inclu

C语言三维数组分解

很多人在学习C的时候,感觉三维数组很难想象,而且不理解深度是什么?做了一个图,帮大家分解一下                                                                             比如int a[3][3][3]={{1,2,3},                                                                                                    

遍历三维数组2

1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace 遍历三维数组 6 { 7 class Program 8 { 9 static void Main(string[] args) 10 { 11 12 13 int[, ,] szA = new int[2,3,4]{ 14 {{0,1,2,3}, 15 {4,5,6,7}, 16 {8,9,10,11}}, 17 {{12

php三维数组变二维数组

<?php $result = Array(0 => Array(0 => Array(bid => 41,brealname => 'we教官',cid => 41,crealname => 'we教官')), 1 => Array(0 => Array(bid => 6,brealname => '虎子',cid => 19,crealname => '张鱼')) ); //原数组 print_r($result); ech

java 二维数组,三维数组 ,糊糙数组,多维数组示例代码

package org.rui.array; import java.util.Arrays; /** * 三维数组示例 * @author lenovo * */ public class ThreeDWithNew { public static void main(String[] args) { int[][][] a=new int[2][2][4]; System.out.println(Arrays.deepToString(a)); } } /** * output: * [[[