[PHP] Krijg loop in loop niet goed

Pagina: 1
Acties:
  • 251 views

Acties:
  • 0 Henk 'm!

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Ik probeer middels een loop in een loop snel een hoop bestanden aan mijn template toe te voegen. Maar ik krijg met onderstaande code een error dat $type een 'illegal offset' heeft. "echo $type" levert op dat $type een Array is, maar dat kan toch niet? Volgens mij is $type in de eerste ronde "script", daarna "css", maar blijkbaar niet. Ik zie het niet meer; kan iemand mij zeggen wat ik voud doe?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function theme_init() {
  $files = array(
    'scripts' => array(
      'jquery.js',
      'global.js', 
      'markitup/jquery.markitup.js',
      'markitup/set.js',
      'simplemodal/jquery.simplemodal.js'
    ),
    'css' => array(
      'markitup/markitup.css',
      'simplemodal/simplemodal.css'
    )
  );
  foreach($files as $type) {
    foreach($type as $path) {
      echo $type;
      theme($type, GLOBAL_SYS_URL . $path);
    }
  }
}

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


Acties:
  • 0 Henk 'm!

  • bstudio
  • Registratie: Oktober 2007
  • Laatst online: 03-12-2022
$type is in dit geval wel een array omdat $files multidimensionaal is. Dus elke $type variabele is een eendimensionale array.

Overigens, een simpele test bij mij wijst uit dat de loop het gewoon doet hoor.

[ Voor 24% gewijzigd door bstudio op 18-11-2008 20:40 ]


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Lees de foreach syntax nog een keertje door? :?

$type bevat nu de waarde van het element, dus dat is voor de 1e iteratie vd buitenste loop de array met *.js filenames, en in de 2e iteteratie de array met *.css filenames. Stiekem weet je wel dat het een array is, want anders kan die binnenste loop natuurlijk niet. ;) Hint: Kijk naar de foreach syntax welke zowel key als value gebruikt.

Doe tevens wat aan je debugging skills, met ad hoc variabelen bekijken kom je veel verder met var_dump() en dergelijke dan met echo. :>

[ Voor 15% gewijzigd door Voutloos op 18-11-2008 20:41 ]

{signature}


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 11:37

Creepy

Tactical Espionage Splatterer

Dus.....

Je komt regelmatig met een topic waarin je weinig tot geen informatie geeft en gewoon 0 eigen inzet toont. Het komt vaak weer neer op "dit is de code, vertel me maar wat ik fout doe" en zo werkt het hier niet. GoT is nog steeds geen helpdesk. En dit hoor je niet voor het eerst dus let hier in het vervolg aub op.

[ Voor 12% gewijzigd door Creepy op 18-11-2008 20:44 ]

"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


Dit topic is gesloten.