[PHP] Warning: Invalid argument supplied for foreach()

Pagina: 1
Acties:
  • 921 views

Acties:
  • 0 Henk 'm!

  • YoshiBignose
  • Registratie: April 2004
  • Laatst online: 12-09 14:51
[PHP] Warning: Invalid argument supplied for foreach() xxxxx.php on line 113

Ik krijg uit het niets opeens een php error. Nou weet ik dat dit verband heeft met array's maar ik begrijp niet waar het probleem ligt. Als ik naar regel 113 ga kijken zie ik ook niets bijzonders op het eerste hoog. Ik dacht dat deze error met array's te maken had.

Deze code is te vinden rond regel 113:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Functies uitvoeren                                                                                       
foreach ($sql_create['function'] as $function) {                                                                                        
    if (function_exists($function['name'])) {                                                                                   
        // Variabelen verzamelen                                                                                
        $vars = array();                                                                                
        foreach ($function['parameter'] as $parameter) {                                                                                
            $vars[] = $parameter['prefix'] . ($parameter['field'] != '' ? (isset($row[$parameter['field']]) ? $row[$parameter['field']] : '') : '') . $parameter['suffix'];                                                                         
        }                                                                               
        $output = call_user_func_array($function['name'], $vars);                                                                               
        if ($function['output'] != '') $row[$function['output']] = $output;                                                                             
    } else {                                                                                    
        // Functie bestaat niet, uitvoeren stopzetten                                                                               
        die(fatal_error('fuction <strong>' . $function['name'] . '</strong> does not exist, ' .                                                                             
                                        'but is requested by xml-source ' . $item['name']));                                                
    }                                                                                   
}                                                                                       
$design_block = $setup['design'][urlencode($item['design'])]['xml'];                                                                                        
if (count($rows) > 0) {                                                                                     
                                                                                        
    // HTML invullen                                                                                    
    if ($item['replace'] != '') {                                                                                   
        $design_block = fill_with_key($row, $design_block, '%', '%');                                                                               
        $design_block = fill_with_key(array_map('xml_htmlentities', $row), $design_block, '{', '}');                                                                                
        $design_block = fill_with_key(array_map('addslashes', $row), $design_block, '\'', '\'');                                                                                
        $design .= ($design != '' ? $setup['design'][urlencode($item['glue'])]['xml'] : '') . $design_block;                                                                                
    }                                                                                   
                                                                                        
    // Volgende item opzoeken                                                                                   
    $count ++;                                                                                  
    if (!isset($rows[$count])) $continue = false;                                                                                   
} else {                                                                                        
                                                                                        
    // Na weergeven stoppen met uitvoeren                                                                                   
    $design = $design_block;                                                                                    
    $continue = false;                                                                                  
}

[ Voor 0% gewijzigd door BtM909 op 07-01-2010 16:14 ]

Facts don't care about your feelings


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

En hoever ben je met het debuggen?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 16-09 13:49

Patriot

Fulltime #whatpulsert

$function['parameter'] is waarschijnlijk geen array. Maar dat had je allang kunnen weten als je even had gedebugged met een print_r van $function.

[ Voor 47% gewijzigd door Patriot op 07-01-2010 16:15 ]


Acties:
  • 0 Henk 'm!

  • kokx
  • Registratie: Augustus 2006
  • Laatst online: 13-09 20:30

kokx

WIN

Erg simpel: het argument dat je aan foreach geeft is geen array, en het is geen object waar je doorheen kan loopen.

Mij lijkt het niet dat je ons daar voor nodig hebt ;).

Acties:
  • 0 Henk 'm!

  • YoshiBignose
  • Registratie: April 2004
  • Laatst online: 12-09 14:51
Oke sorry, maar hoe kon dit vroeger wel goed werken dan?

Facts don't care about your feelings


Acties:
  • 0 Henk 'm!

Verwijderd

Vroeger was dit een array die waarschijnlijk wel gevuld was.

[ Voor 3% gewijzigd door Verwijderd op 07-01-2010 16:42 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20-09 20:56

Creepy

Tactical Espionage Splatterer

YoshiBignose schreef op donderdag 07 januari 2010 @ 16:40:
Oke sorry, maar hoe kon dit vroeger wel goed werken dan?
Dat is iets voor jou om uit te zoeken ;) Wij kennen de de code verder ook niet, en weten ook niet welke data erin komt.

Los daarvan: puur alleen een stukje code + foutmelding dumpen is hier eigenlijk niet toegestaan. We hebben meer informatie nodig. Zie ook PRG Beleid - Quickfix.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.