[php] Foreach probleem

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

  • 2_05
  • Registratie: November 2004
  • Laatst online: 18:35
Ik heb het volgende stukje code:

PHP:
1
2
3
4
5
$imageadress=ImageAdress($start, $end);  //create array adresses

foreach ($imageadress as $i => $value) { //create names
   $name[$i] = Name($imageadress[$i]);  //stopt het adress in functie Name en voegt resultaat toe aan array name
}


Nu krijg ik hier een warning bij (Invalid argument supplied for foreach() in...) en geen resultaat. Wat doe ik fout? php.net wordt ik niet veel wijzer van :?

  • maurad3r
  • Registratie: Oktober 2004
  • Laatst online: 07-05 16:59
code:
1
2
3
4
5
6
7
<?
$imageadress=ImageAdress($start, $end);  //create array adresses

foreach ($imageadress as $i => $value) { //create names
   $name[$i] = Name($value);  //stopt het adress in functie Name en voegt resultaat toe aan array name
}
?>


foreach haalt de waarde al op, dit hoef je dan vervolgesn niet meer zelf te gaan doen

edit: je zegt invalid argument.. dan zal imageadress wel geen array zijn

[ Voor 12% gewijzigd door maurad3r op 09-05-2005 19:36 ]


Verwijderd

Ik vermoed dat de functie ImageAdress geen array teruggeeft, maar null oid. Controleer dit even.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

ImageAdress is een zelfgemaakte functie (dat neem ik tenminste aan uit de spelfout :P), dus die zou ik eens controleren om te kijken of die wel altijd een associatief array returnt. Wanneer een functie als deze niets moet returnen, dan moet je dat ofwel afvangen, ofwel je returnt gewoon array().

Echter, dit staat ook gewoon in de manual van het commando foreach: foreach wil gewoon een array krijgen; krijgt ie dat niet, dan gaat ie bokken. :) Lees deze pagina uit de documentatie nog maar eens goed door. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.