2013-05-28 15 views
5

Nie mogę wydawać się echo wartości w mojej tablicy foreach, mój kod do tej pory.PHP Foreach Empty

<?php 
foreach ($results as $item) { 

    $imgData = json_decode($item->params, true); 
    // create array 
    $newsitems[] = array(
     'name' => $item->name, 
     'url' => $item->clickurl, 
     'custom' => $item->custombannercode, 
     'image' => $imgData['imageurl'] 
    );    
} 
?> 

<?php foreach ($newsitems as $slideitems) { ?> 
    <li> 
    <img src="<?php echo $slideitems->image; ?>" > 
    </li> 
<?php }; ?> 

Dostaję dwa elementy listy, które są poprawne, ale kiedy próbuję wywoływać echo dowolne wartości, które są puste, czy robię to poprawnie?

Dzięki

+4

'$ slideitems' to tablica, a nie obiekt. Spróbuj 'echo $ slideitems ['image']' zamiast – andrewsi

Odpowiedz

3
<?php foreach ($newsitems as $slideitems) { 
    var_dump($slideitems); ?> 
    <li> 
    <img src="<?php echo $slideitems['image']; ?>" > 
    </li> 
<?php }; ?> 

Można spróbować var_dump, aby zobaczyć, jakie wartości dostajesz. Również jako slideitems jest tablicą sprawdź linię, która wyprowadza img src.

Mam nadzieję, że to pomoże.

+1

Dzięki temu, że jestem głupi! lol – Brent

+0

Po prostu dodaj kofeinę, a błąd zniknie jak za dotknięciem czarodziejskiej różdżki :) – user466764

+1

Haha prawda :) Jestem ślepy bez mojej kawy – Brent

2
$newsitems[] = array(...) 

dlatego trzeba

<?php echo $slideitems['image'] 

w pętli ourput.

1

slideitems nie jest obiektem, to tablica, echo $slideitems["image"].

1

$slideitems jest array nie sprzeciw Więc

Zmień

<?php echo $slideitems->image; ?> 

do

<?php echo $slideitems['image']; ?>

1

W pierwszej pętli przypisać tablicę

$newsitems[] = array(

ale tutaj

$slideitems->image 

jesteś odwołanie do obiektu. rozważyć użycie $slideitems['image']