2011-07-04 62 views
0

所有的數組的搜索結果新陣列,PHP - 填充的對象

我有一個Widget配置陣列是這樣的:

Array 
( 
[0] => Array ([0] => 1 [1] => apple) 
[1] => Array ([0] => 1 [1] => orange) 
[2] => Array ([0] => 2 [1] => banana) 
) 

我有控件數組對象是這樣的:

Array 
( 
[0] => XYZ_Widget Object ( 
          [position:XYZ_Widget:private] => 1 
          [widgetId:XYZ_Widget:private] => apple 
         ) 
[1] => XYZ_Widget Object ( 
          [position:XYZ_Widget:private] => 2 
          [widgetId:XYZ_Widget:private] => banana 
         ) 
[2] => XYZ_Widget Object ( 
          [position:XYZ_Widget:private] => 3 
          [widgetId:XYZ_Widget:private] => orange 
         ) 
) 

對於Widget Config數組中的每個數組Item,我需要搜索Widget Objects的數組以獲得widgetId,如果發現它,我需要使用找到的項創建一個新的Widget對象數組。

例:

Array 
( 
[0] => XYZ_Widget Object ( 
          [position:XYZ_Widget:private] => 1 
          [widgetId:XYZ_Widget:private] => apple 
         ) 
[1] => XYZ_Widget Object ( 
          [position:XYZ_Widget:private] => 3 
          [widgetId:XYZ_Widget:private] => orange 
         ) 
[2] => XYZ_Widget Object ( 
          [position:XYZ_Widget:private] => 2 
          [widgetId:XYZ_Widget:private] => banana 
         ) 
) 

如何做到這一點通過PHP:widget的新的數組對象的Widget配置陣列搜索其中的項目會像後產生的?

回答

1
$result = array(); 
foreach ($configuration as $widgetConf) { 
    foreach ($widgets as $widget) { 
     if ($widgetConf[1] == $widget->widgetId) { 
      $result[] = $widget; 
      continue 2; 
     } 
    } 
} 
+0

完美地工作..謝謝 – Jake