Php 从现有阵列复制新阵列(多阵列)

Php 从现有阵列复制新阵列(多阵列),php,Php,从现有阵列复制新阵列(多阵列) 如果我有一个称为参数的数组: $arr = Array ( [0] => Array(0,Array(0=>'abc')) [1] => Array(0,Array(1=>'def')) [2] => Array(1,Array(0=>'ghi')) ) 想创建一个传递$arr的函数吗 function TODO($arr){

从现有阵列复制新阵列(多阵列)

如果我有一个称为参数的数组:

$arr =  Array
          (
          [0] => Array(0,Array(0=>'abc'))
          [1] => Array(0,Array(1=>'def'))
          [2] => Array(1,Array(0=>'ghi'))
    )
想创建一个传递$arr的函数吗

function TODO($arr){
      //
      return $new_array;
 }
函数将返回 结果将从上一个数组中复制元素,并将得到结果(返回):

有人知道怎么做吗?拜托


谢谢

我不这么认为。如果您可以控制如何将这些文本数组转换为文本,则应使用
serialize()
unserialize()
。最快最简单的方法


如果仍然需要从提供的字符串创建数组,则可能需要构造一个相当复杂的函数来实现这一点。

我不这么认为。如果您可以控制如何将这些文本数组转换为文本,则应使用
serialize()
unserialize()
。最快最简单的方法


如果您仍然需要从提供的字符串创建数组,则可能需要构造一个相当复杂的函数来完成此操作。

我不能100%确定我是否理解您想要的内容,但如果我理解了,这应该可以:

<?php

$arr = Array(
    0 => Array(0, Array(0=>'abc')),
    1 => Array(0, Array(1=>'def')),
    2 => Array(1, Array(0=>'ghi'))
);


function transformArray($array) {
    $newArray = array();

    foreach ($array as $value) {
        if (!isset($newArray[$value[0]])) {
            $newArray[$value[0]] = array();
        }
        $newArray[$value[0]][] = array_pop($value[1]);
    }

    return $newArray;
}


$outputArray = transformArray($arr);
echo '<pre>' . print_r($outputArray, true) . '</pre>';

?>

我不能100%确定我是否理解了您的需求,但如果我理解了,这应该可以:

<?php

$arr = Array(
    0 => Array(0, Array(0=>'abc')),
    1 => Array(0, Array(1=>'def')),
    2 => Array(1, Array(0=>'ghi'))
);


function transformArray($array) {
    $newArray = array();

    foreach ($array as $value) {
        if (!isset($newArray[$value[0]])) {
            $newArray[$value[0]] = array();
        }
        $newArray[$value[0]][] = array_pop($value[1]);
    }

    return $newArray;
}


$outputArray = transformArray($arr);
echo '<pre>' . print_r($outputArray, true) . '</pre>';

?>


能否再举几个例子说明此函数应该如何处理数组?能否再举几个例子说明此函数应该如何处理数组?0或1在数组之前做什么?0或1在数组之前做什么?