2013-08-16 64 views
0

的error_log错误提供的foreach无效的参数()

[16 - 8 - 2013二十时41分33秒美国/圣保罗] PHP警告:的foreach(提供了无效的参数)在/ home /的public_html/ACP /includes/templates/character.php第9行

我Character.php

<?php 
    if (!isset($included) || !$included) exit(); 

    $buttons = ""; 
    $empty = true; 

    $characters = $_handlerGameServer->fetch($_queryGame['characters'],array($session->get("account"))); 

    foreach ($characters as $character) { 
     $buttons .= "<button class='buttonProcess' name='select_character' title='character_id' value='".$character[0]."'>".$character[1]."</button>\n"; 
     $empty = false; 
    } 

    if (!$empty) 
     $_templatePage->replace("buttons",$buttons); 
    else 
     $_templatePage->replace("buttons",$_lang['error']['noCharacters']."<br /><a href='?page=select_server' class='linkProcess' name='unset_server'>".$_lang['character']['changeServer']."</a> | <a href='?page=account' class='linkProcess' name='logout'>".$_lang['character']['logout']."</a> "); 
?> 
+3

'$ characters'不是一个数组,所以'foreach'循环无法处理它。没有足够的信息来回答你的问题,而没有看到函数'$ _handlerGameServer-> fetch()'。 –

+1

'var_dump($ characters)'显示什么? – Barmar

回答

0

如果你的函数返回false或清空你也许可以这样做:

if($characters = $_handlerGameServer->fetch($_queryGame['characters'],array($session->get("account")))) { 

    foreach ($characters as $character) { 
     $buttons .= "<button class='buttonProcess' name='select_character' title='character_id' value='".$character[0]."'>".$character[1]."</button>\n"; 
    } 

    $_templatePage->replace("buttons",$buttons); 
} else { 
    $_templatePage->replace("buttons",$_lang['error']['noCharacters']."<br /><a href='?page=select_server' class='linkProcess' name='unset_server'>".$_lang['character']['changeServer']."</a> | <a href='?page=account' class='linkProcess' name='logout'>".$_lang['character']['logout']."</a> "); 
}