2013-10-23 64 views
1

我想通過多維數組的鍵運行函數或替換值。通過數組中的鍵值遞歸運行函數

這是我有的數組的例子。

'data' => array 
    (
     '0' => array 
     (
      'id' => '2039' 
      'status' => 'OK' 
      'date' => 1382339688 
     ) 
     '1' => array 
     (
      'id' => '33000' 
      'status' => 'OK' 
      'date' => 1378645263 
     ) 
     '2' => array 
     (
      'id' => '18800' 
      'status' => 'Failed' 
      'date' => 1381224889 
     ) 
     '3' => array 
     (
      'id' => '34522' 
      'status' => 'OK' 
      'date' => 1378973015000 
     ) 
) 

例如我想調用的函數。

recursive_array_replace_by_key($ array,$ key,$ function);

如果想修復陣列的所有日期,我會做的事:

recursive_array_replace_by_key($陣列,「迄今爲止,gmdate( 「YMD \ TH:我:■\ Z」,$值)) ; //將所有日期值轉換爲格式化日期。

要替換所有的狀態:

recursive_array_replace_by_key($陣列,「狀態, 'NA'); //將所有狀態值轉換爲NA

我想要在數組中搜索而不知道結構有多長的能力。

回答

1

我覺得下面的函數可以幫助你這麼做。

function formatdate($array,$field,$format) 
{ 
    foreach($array as $arr) 
    { 
     $arr[$field]=date($format,$arr[$field]); 
    } 
    return $arr; 
} 

撥打以上這樣formatdate($array,'date','Y-m-d\TH:i:s\Z');

希望這個功能有助於

+0

它非常具體的解決方案。我想要更通用的東西,我可以在任何函數或數據類型上運行,並使用遞歸替換選項。 – Dar