2013-04-10 34 views
1

我有阵列以这种方式更改数组的值在PHP

Array 
    (
     [0] => stdClass Object 
      (
       [qa_verified] => 0   
      ) 

     [1] => stdClass Object 
      (
       [qa_verified] => 1    
      ) 
     [2] => stdClass Object 
      (
       [qa_verified] => 2    
      ) 
) 

我需要改变成

Array 
(
    [0] => stdClass Object 
     (
      [qa_verified] => invalidate   
     ) 

    [1] => stdClass Object 
     (
      [qa_verified] => approve    
     ) 
    [2] => stdClass Object 
     (
      [qa_verified] => reject    
     ) 
) 

我必须改变根据状态 的qa_verified键的值0 = invalidate, ,2=reject

我在array_walk上试过了,但是无法得到结果

任何一个可以帮助我在这

回答

7
$lookup = array('invalidate', 'approve', 'reject'); 
array_walk(
    $myArray, 
    function(&$entry) use ($lookup) { 
     $entry->qa_verified = $lookup[$entry->qa_verified]; 
    } 
); 

var_dump($myArray); 
+0

我要张贴用foreach的答案,但是这是更好:) – 2013-04-10 06:46:07

+0

其工作,thnks – Shah 2013-04-10 06:58:40