【问题标题】:how to deflate recursively array having a numerical value as the key?如何以数值为键的递归数组放气?
【发布时间】:2013-10-24 18:37:54
【问题描述】:

我尝试对具有数值作为键的递归数组进行放气。 重复结构是数组,键为 ANDORNOT,数组内以数字为键。我尝试递归地缩小键中的数组 ANDORNOT

我有这个:

$input=array(
    'Experiment.name' => (int) 0,
    ' AND ' => array(
        (int) 0 => array(
            'Experiment.note' => (int) 0
        ),
        (int) 1 => array(
            'Experiment.date' => (int) 0,
            ' AND ' => array(
                (int) 0 => array(
                    'Experiment.state' => (int) 0
                )
            )
        )
    )
)

并尝试获取:

$output=array(
    'Experiment.name' => (int) 0,
    ' AND ' => array(       
            'Experiment.note' => (int) 0
            'Experiment.date' => (int) 0,
            ' AND ' => array(
                    'Experiment.state' => (int) 0
            )
        )
    )
)

inside 数组可以有两个以上的数组,并且键不能是 AND,可以是 ANDOR AND NOT

【问题讨论】:

  • array_merge 似乎可行
  • 是的,谢谢你的帮助,但我不知道如何用那个功能来做到这一点。我不知道如何使用它来实现我想要的,我不给成功
  • 你有没有试过在这里寻找http://php.net/manual/en/function.array-merge.php
  • 是的,我看过手册,我试过了,但我做不到。写在这里是我最后的选择

标签: php arrays multidimensional-array deflate


【解决方案1】:

试试:

$input[' AND '][0] = array_merge($input[' AND '][0], $input[' AND '][1]);
unset($input[' AND '][1]);

【讨论】:

  • 哦,谢谢这是一个不错的选择,但只会压缩第一个数组,而不是递归执行。此外,密钥不能是 AND。谢谢你的帮助:)
  • 这将是您不会说的问题的相关信息吗?
  • 我已经写了它是递归的,但我只是添加了更多信息
  • AND 键可以是除 AND 之外的任何其他东西?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
  • 2015-04-20
  • 2011-04-27
  • 1970-01-01
相关资源
最近更新 更多