如何使用PHP从另一个创建数组

时间:2014-02-03 19:36:54

标签: php arrays

我有大量的触发器和条件,我想提取一些这些信息并放入一个新的数组。

以下是我的数组示例:

trigger [
  param1 : 'foo',
  param2: 'bar',
  ...
  name: 'triggerName',

  conditions : [
    param1 : 'foo',
    param2: 'bar',
    value: 3
  ],
  [
    param1 : 'foo',
    param2: 'bar',
    value2: 4
  ]
],
trigger 2: ...

我想循环每个触发器和放大器param conditons并提取一个看起来像这样的关联数组:

['triggerName' => 3],
['triggerName' => 4]

最好的方法是什么?最好的意思是更快,更优化的方式!

1 个答案:

答案 0 :(得分:1)

只需这样做,在初始实施后担心优化。

这里没有太多优化,因为数组已经加载到内存中,因此任何循环遍历它的操作都会很快。

$assArray = array();

foreach ($array as $value) {
    foreach ($value['conditions'] as $condition) {
        $assArray[]=array($value['name'] => $condition['value']);
    }
}

值字段的数量是否增加?它总是被称为“价值”吗?您可能需要查找实际的密钥名称。

只要你确定这只循环一次,O(n),你应该没问题。使用实际实现更新问题,也许我们可以谈论优化。但我感觉这是premature optimization的情况。