ошибка оператора foreach - PullRequest
1 голос
/ 08 июля 2011

Может кто-нибудь сказать мне, что не так с этим кодом?

<?php
$feedID = '28241415';
$oddsArray = array();
$source = file_get_contents("https://www.bwin.com/partner/xml/query.aspx?source=events&lid=1&xpath=/ROOT/EVENTS/E[@LID=46%20and%20@RID=14%20and%20@SID=4]");
$xml = simplexml_load_string($source);
$game = $xml->xpath("//G");

foreach ($game as $event)
{
    if ($event['DBID'] == $feedID)
        {
            foreach ($event->children() as $odds) 
                {
                    array_push($oddsArray, array('oddsID' => $odds['DBID'], 'odds' => $odds['O']));
                }
        }
}
foreach ($array as $oddsArray)
{
echo $array['odds'];
echo $array['oddsID'];
}
?>

Я получаю сообщение об ошибке:

Предупреждение: неверный аргумент для foreach () в / home/pokerint/public_html/test.php в строке

Ответы [ 2 ]

6 голосов
/ 08 июля 2011

Я предполагаю здесь, поскольку вопрос не совсем ясен, но я думаю, что вам нужно изменить порядок переменных в вашем последнем foreach от

foreach ($array as $oddsArray)
{
echo $array['odds'];
echo $array['oddsID'];
}

Для

foreach ($oddsArray as $array)
{
echo $array['odds'];
echo $array['oddsID'];
}
0 голосов
/ 08 июля 2011
foreach ($array as $oddsArray)

Я думаю, у вас это задом наперед ...

Чтобы избежать путаницы, я всегда использую что-то легко запоминающееся ...

foreach ($oddsArray as $key => $value) {

ИЛИ

foreach ($oddsArray as $value) {

даже ...

тогда вы никогда не перепутаете (ну, надеюсь, никогда:)

...