我有大量的触发器和条件,我想提取一些这些信息并放入一个新的数组。
以下是我的数组示例:
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]
最好的方法是什么?最好的意思是更快,更优化的方式!
答案 0 :(得分:1)
只需这样做,在初始实施后担心优化。
这里没有太多优化,因为数组已经加载到内存中,因此任何循环遍历它的操作都会很快。
$assArray = array();
foreach ($array as $value) {
foreach ($value['conditions'] as $condition) {
$assArray[]=array($value['name'] => $condition['value']);
}
}
值字段的数量是否增加?它总是被称为“价值”吗?您可能需要查找实际的密钥名称。
只要你确定这只循环一次,O(n),你应该没问题。使用实际实现更新问题,也许我们可以谈论优化。但我感觉这是premature optimization的情况。