2013-07-29 71 views
0

下面是一個代碼SNIPPIT我一起工作:非懶評價while循環

如果$迴應確實
while(($response = $responses->fetchObject()) || ($mapping = $mappings->fetchObject())) { 
    $mapping = $mapping ? array('data' => array('#type'=>'link','#title' =>$mapping->title, '#href' => 'node/' . $mapping->nid)) : '';   
    $response = $response ? array('data' => array('#type'=>'link','#title' =>$response->title, '#href' => 'node/' . $response->nid)) : ''; 
} 

因爲PHP確實短路評價,$映射沒有得到任何分配。

我該如何編寫這個命令,以便在while循環中爲$ response和$ mapping分配一些東西?

回答

2

這是我的解決方案現在:

while(true) { 
    $response = $responses->fetchObject(); 
    $mapping = $mappings->fetchObject(); 

    if(!$response && !$mapping) { 
     break; 
    } 
} 

但我覺得必須有一個更好的辦法嗎?