foreach lus in whilelus

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Aaron

Aaron

19/02/2009 16:57:00
Quote Anchor link
Hallo,

Is het niet mogelijk om een foreach-lus in een while-lus te gebruiken... Ik wil namelijk het volgende bereiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

while($posts = mysql_fetch_assoc($postsquery)){

foreach($poststatus as $key=>$value){
        if($key == $post['status']){
        $status = $value;
        }
    }
}


?>


Maar kan dit niet? Want ik krijg telkens deze foutmelding:

Warning: Invalid argument supplied for foreach() in bestand on line 70
 
PHP hulp

PHP hulp

20/05/2024 06:01:50
 
Jesper Diovo

Jesper Diovo

19/02/2009 16:59:00
Quote Anchor link
$poststatus is geen array.
 
Eddy E

Eddy E

19/02/2009 17:04:00
Quote Anchor link
Verwar je $posts en $poststatus niet met elkaar?

In het script is $poststatus nog niet gemaakt... en kan dus ook niet afgelopen worden.
Maar het moet werken, als $poststatus een array is.
 
Jesper Diovo

Jesper Diovo

19/02/2009 17:08:00
Quote Anchor link
Overigens is een foreach hier ook totaal overbodig. Je kunt direct al zeggen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$status
= $poststatus[$post['status']];
?>
 
Aaron

Aaron

19/02/2009 17:08:00
Quote Anchor link
poststatus is wel een array... staat in een include bestandje
 
Aaron

Aaron

19/02/2009 17:11:00
Quote Anchor link
Jezpur schreef op 19.02.2009 17:08:
Overigens is een foreach hier ook totaal overbodig. Je kunt direct al zeggen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$status
= $poststatus[$post['status']];
?>


Nee want $post['status'] is een ID en in het include bestand staat een array met ID => naam

En ik wil dus de naam krijgen...
 
Jesper Diovo

Jesper Diovo

19/02/2009 17:11:00
Quote Anchor link
Wat krijg je als je dit uitvoert (op een plek waar je dat bestandje include):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
var_dump($poststatus);
?>


Edit: Op je tweede post: Wat denk je dat dat stukje code geeft?
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
Aaron

Aaron

19/02/2009 17:44:00
Quote Anchor link
Jezpur schreef op 19.02.2009 17:11:
Wat krijg je als je dit uitvoert (op een plek waar je dat bestandje include):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
var_dump($poststatus);
?>


Edit: Op je tweede post: Wat denk je dat dat stukje code geeft?


Dan krijg ik dit:

array(4) { [1]=> string(12) "aankondiging" [2]=> string(8) "uploaden" [3]=> string(4) "done" [4]=> string(4) "spot" }

En op je 2e vraag: wat bedoel je?:P
 
Jesper Diovo

Jesper Diovo

19/02/2009 17:51:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
var_dump($poststatus[$posts['status']]);
?>
 
Aaron

Aaron

19/02/2009 17:54:00
Quote Anchor link
Dan krijg ik terug:

NULL
 
Jesper Diovo

Jesper Diovo

19/02/2009 17:57:00
Quote Anchor link
Dan zit $posts['status'] dus niet in $poststatus en kun je nooit een $key gelijk hebben aan $posts['status']. Dus zal $status nooit iets bevatten.
 
Aaron

Aaron

19/02/2009 17:59:00
Quote Anchor link
Ah... Maar hoort daar deze error bij?

Warning: Invalid argument supplied for foreach() in bestand on line 70
 
Jesper Diovo

Jesper Diovo

19/02/2009 18:00:00
Quote Anchor link
Nee, die error gaat erover dan $poststatus geen array is. Waar we het net over hadden gaat erom dat je die foreach ook korter kan opschrijven. Heb je geen foreach voor nodig.
 
Aaron

Aaron

19/02/2009 18:04:00
Quote Anchor link
Ja maar die poststatus is wel een array...

Ziet er zo uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

/*
Lijst met de poststatus. Als waarde wordt de naam van de afbeeldingen gezet
*/


$poststatus = array(
    1 => "aankondiging",
    2 => "uploaden",
    3 => "done",
    4 => "spot");

?>
 
Jesper Diovo

Jesper Diovo

19/02/2009 18:10:00
Quote Anchor link
Is lijn 70 dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
foreach($poststatus as $key=>$value){
?>
 
Aaron

Aaron

19/02/2009 18:16:00
Quote Anchor link
Jep
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.