【问题标题】:Array transformations数组转换
【发布时间】:2012-08-17 10:18:59
【问题描述】:

如何制作这个数组:

Array
(
    [Qualifications] => Array
        (
            [name] => Array
                (
                    [0] => 1
                    [1] => 2
                )

            [description] => Array
                (
                    [0] => 1
                    [1] => 2
                )
)

看起来像这个数组?

Array
(
   [Qualifications] => Array
        (
            Array [0] =>
                (
                    [name]=> 1
                    [description] => 1
                )

            Array [1]
                (
                    [name] => 2
                    [descrition] => 2
                )
       )
)

它是通过 jquery 的表单字段生成的,然后发送回我的服务器。

【问题讨论】:

  • 你能展示你想要什么吗?
  • 我想像第二个一样分组我的数组
  • 似乎存在语言障碍。你问的不是一个完整的问题,也没有人可以回答它。也许尝试用您的母语提出问题并使用 translate.google.com 之类的翻译服务(并包括有关您的模型、您的 find()...等的更多详细信息
  • 能贴出生成数组的代码吗?

标签: php arrays cakephp cakephp-2.1


【解决方案1】:

我会做这样的事情:

/**
 * @param array $bar bar is the qualification array containing (0=>'name' => array(), description => array()
 * @return array
 */
function foo(array $bar = array()){
    $finalArray = array();

    foreach($bar as $key => $value){
        foreach($value as $innerKey => $innerValue){
             $finalArray[$innerKey][$key] = $innerValue;
        }
    }
    return $finalArray;
}

所以你传递了内部数组(什么是限定),你所要做的就是在最后把它放回限定中。

编辑:没有功能:

$baseArray = array(Qualifications => array('name' => array(1,2), 'description' => array(1,2)));    

$bar = $baseArray['Qualifications'];

$transformedArray = array();
foreach($bar as $key => $value){
        foreach($value as $innerKey => $innerValue){
             $transformedArray [$innerKey][$key] = $innerValue;
        }
    }
$theArrayYouWant = array('Qualification' => $transformedArray);

【讨论】:

  • 错再说一遍,hugo?如果我不想创建函数?
  • 只是做同样的事情,没有function foo()return $array这行
猜你喜欢
  • 2020-05-30
  • 2020-11-16
  • 2010-10-14
  • 2021-09-01
  • 2019-07-20
  • 2018-11-19
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多