Forum » Server-Side scripting » Invalid argument supplied
Berichten: 3275
avatar
Offline Stuur privebericht
Beste CPers,

Ik ben op dit moment bezig met een website echter stuit ik op het volgende probleem:

Code | Selecteer Alles
minimaliseren
1
WarningInvalid argument supplied for foreach() in /home/*****/domains/******.nl/public_html/nieuw/lib/class_content.php on line 973


Kan iemand me helpen om dit probleem op te lossen, heb zelf al zitten googlen op de hoop dat ik tips kon vinden maar helaas, kon het niet echt vinden.

Hier de regels 968 tot 980:

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
public function getMenu($array$parent_id 0)
      {
          global 
$core;
          
$submenu false;
          
          foreach (
$array as $key => $row) {
              if (
$row['parent_id'] == $parent_id) {
                  if (
$submenu === false) {
                      
$submenu true;
                      
                      print 
"<ul>n";
                  }


Alvast bedankt voor de persoon die me kan helpen.
28-10-2011 16:06
Dit topic is 144 keer bekeken door 30 verschillende leden
Reacties op: "Invalid argument supplied"
1
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Zet eens var_dump($array); voor de foreach.
28-10-2011 16:50
Informatica Student
Berichten: 1406
avatar
Offline Stuur privébericht
$array moet een array zijn.
28-10-2011 17:03
Berichten: 151
avatar
Offline Stuur privébericht
Inderdaad BrokenTrack.
$array moet array worden. Verder is het goed.
28-10-2011 17:16
Berichten: 3275
avatar
Offline Stuur privébericht
@Darrstar:

Dan krijg ik de volgende foutmelding:

Code | Selecteer Alles
minimaliseren
1
2
NULL 
WARNING
INVALID ARGUMENT SUPPLIED FOR FOREACH() IN /HOME/WJPRO/DOMAINS/WJPROJECTS.NL/PUBLIC_HTML/NIEUW/LIB/CLASS_CONTENT.PHP ON LINE 973
28-10-2011 17:17
Informatica Student
Berichten: 1406
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
echo is_array($array);


Doe dat eens, moet een 1 of true uitkomen. Zo niet, is $array geen array en zal foreach niet werken.
28-10-2011 17:19
Berichten: 3275
avatar
Offline Stuur privébericht
@Brokentrack:

Mag ik vragen wat je precies bedoeld?
28-10-2011 17:24
Informatica Student
Berichten: 1406
avatar
Offline Stuur privébericht
is_array checkt of de gegeven parameter een array is.
Indien je de resultaat van die functie even uitprint voor de foreach kun je zien of $array ook daadwerkelijk een array is. Want dit moet een array zijn. Zo niet, dan zit daar je fout.

Debuggen is dit.
28-10-2011 17:36
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
foreach() kan door een array of een object heen loopen... jij probeert foreach nu door NULL te laten loopen, dat vind PHP niet leuk.
Zoek uit waar de getMenu() die die warning geeft wordt aangeroepen. Dan ga je kijken waarom de eerste parameter die je mee geeft een waarde van NULL heeft. Zodra je dat gedaan hebt ga je zorgen dat dat niet meer het geval is.
28-10-2011 17:59
Berichten: 3275
avatar
Offline Stuur privébericht
@Darrstar, bedankt ik zal er naar kijken.

Nieuwe reactie samengevoegd met originele reactie op 29.10.11 14:21:09:
@Darrstar,

Bedankt voor je uitleg, heb een andere waarde gegeven en is nu opgelost.
29-10-2011 11:04
Reageer op: "Invalid argument supplied"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden