2014-02-17 60 views
0

我有以下陣列我獲得使用從蛋糕SQL ..的CakePHP/PHP - 重新格式化陣列導致

array (size=2) 
    0 => 
    array (size=2) 
     'users' => 
     array (size=1) 
      'user_status' => boolean false 
     0 => 
     array (size=1) 
      'user_count' => string '17' (length=2) 
    1 => 
    array (size=2) 
     'users' => 
     array (size=1) 
      'user_status' => boolean true 
     0 => 
     array (size=1) 
      'user_count' => string '4' (length=1) 

我對激活/未激活用戶的標誌字段,其中包含布爾值要麼,真或錯誤。我想遍歷該數組,並將false的值更改爲不活動,並將其更改爲active。

我試過,但它不工作

foreach($results as $result){ 
     if($result['users']['user_status'] == false){ 
      $result['users']['user_status'] = 'not active'; 
     }else{ 
      $result['users']['user_status'] = 'active'; 
     } 
    } 

任何其他方式可以做到這一點?

回答

2
foreach($results as &$result) { 
    if($result['users']['user_status'] === false){ 
     $result['users']['user_status'] = 'not active'; 
    } else { 
     $result['users']['user_status'] = 'active'; 
    } 
} 

這樣你的$results陣列

+0

感謝cornelb在拯救值!這是如何工作的?我一直在使用PHP大約10個月知道,但從來沒有遇到過這個。 – LogixMaster

+0

您可以在這裏閱讀更多關於參考資料http://www.php.net/manual/en/language.references.php – cornelb

+0

長話短說,沒有參考('&'),您將每次迭代複製到'$ result ',所以對這個變量的任何修改都不會影響'$ results'。但通過引用,您可以通過修改'$ result'來修改原始數組 – Eagle