Loop in een variable plaatsen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kav ixx

kav ixx

09/04/2012 14:23:07
Quote Anchor link
hallo iedereen ,.

ik vroeg me af of het mogelijk is om een loop IN een variable te plaatsen

zoals dit :

$loop = if (selection==yes ){ echo"hallo"}
else { echo "doei"} ;


en dan later in een script dan bijvoorbeeld <span>'.($loop).'</span>
alvast bedankt
Gewijzigd op 09/04/2012 14:25:10 door Kav ixx
 
PHP hulp

PHP hulp

08/11/2024 20:10:21
 
Noppes Homeland

Noppes Homeland

09/04/2012 14:33:31
Quote Anchor link
Kijk eerst op php.net, alvorens hier een topic over aan te maken, mede gezien dit zovaak langs komt:

http://php.net/manual/en/language.operators.comparison.php
-> Ternary Operator
 
Kav ixx

kav ixx

09/04/2012 14:50:10
Quote Anchor link
heel erg bedankt voor de snelle reactie ,

ik heb het door gelezen maar er is wel 1 ding dat ik niet snap:

er staat dus dat dat het wel mogelijk is om een loop in een variable te maken alleen kan ik niet vinden waar dan de echo staat ??

of is het zo dat de $_POST ervoor zorgt dat de uitkomst word gepost??

zou iemand mischien een ander voorbeeld kunnen geven want ik het erg veel moeite met dit voorbeeld te begrijpen

alvast bedankt
 
Noppes Homeland

Noppes Homeland

09/04/2012 15:03:14
Quote Anchor link
Als je hier al moeite mee hebt om te begrijpen, denk je dat php-en dan wel de juiste hobby is?

Zal het niet zo kunnen zijn dat je gewoon het een en ander dan zal meoten gaan proberen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$iknietsnappe
= 'niet';

echo $iknietsnappe == 'yes' ? 'Goh ik begrijp het toch' : 'mmm, ik begrijp het nog steeds niet';

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$iknietbegrijp
= 'no';

$iknietsnapp = $iknietbegrijp == 'yes' ? 'Goh ik begrijp het toch' : 'mmm, ik begrijp het nog steeds niet';

echo $iknietsnapp;
?>


en bovenstaande code had je ook vanuit de handleiding kunnen opmaken, dus ik betwijfel ten zeerste of je uberhaupt er naar gekeken hebt.
Gewijzigd op 09/04/2012 15:05:07 door Noppes Homeland
 
Kav ixx

kav ixx

09/04/2012 15:12:22
Quote Anchor link
dankjewel voor je reactie , deze uitleg snap ik wel :P

en ja ik heb er wel naar gekeken maar bij de example of usage stond ( met jou voorbeeld ) dit : $iknietsnappe == 'yes' ? 'Goh ik begrijp het toch' : 'mmm, ik begrijp het nog steeds niet';


die echo stond daar niet voor dus toen ik een klein voorbeeld had gemaakt en had getes met wamp kreeg ik niks te zien.

nu doet hij het wel gewoon.

en over die php als een hobby; ik ben pas begonnen met php maar het mijzelf van alles op de hals gehaald waar ik een groot deel niet van snap.

ik denk dat als je de basis van php goed beheerd deze dingen inderdaad makkelijk te begrijpen zijn maar die basis begrijp ik soms ook nog niet helemaal goed dus vandaar dat zo'n uitleg op php.net voor mij vaak op het eerste gezicht een goocheltruc in het chinees lijkt.

in iedergeval bedank voor je hulp dit heeft voor mij een hoop duidelijk gemaakt.





Toevoeging op 09/04/2012 15:28:00:

en nu dit topic toch bestaat:

ik wil niet alleenmaar een if en else loop maken maar een if ifelse ifesle else loop :) en hoe moet ik dat dan bereiken met je iknietsnapp voorbeeld?
 
Noppes Homeland

Noppes Homeland

09/04/2012 15:35:38
Quote Anchor link
Zoals eerder vermeld, kijk eerst op php.net:
http://nl.php.net/manual/en/control-structures.if.php
 
Kav ixx

kav ixx

09/04/2012 15:49:04
Quote Anchor link
na laat maar zitten,

ik zal het een keer uitleggen ( een reactie hoeft niet eens meer )

1.) ik probeer iets te maken
2.) het lukt niet
3.) ik zoek naar oplossingen ( google , php.net , tutorials ect..)
4.) ik kan na 2 dagen nog steeds niks vinden
5.) ik stel mijn vraag hier
6.) ik vraag om een uitleg
7.) ik word terug gestuurt naar de plaats waar ik er 2 dagen geleden zelf niet uit kwam

en dan plaats jij zo'n bijdehante reactie en voorbeeld , waarbij het lijkt alsof je geen zin heb om te helpen ( omdat ik het niet in 1 keer snap ) .

volgende keer reageer dan niet ....


mocht je opeens van gedrag zijn verandert en daadwerkelijk willen helpen

dit is mijn vraag:

ik wil een if elseif elseif else lus maken en deze met 1 variable kunnen oproepen.

voorbeeld : ik heb een formulier met een selectielijst met 3 keuze's

dan wil ik verderop kunnen plaatsen $loop en dat dan vervolgens op die exacte plaats de geselecteerde keuzen met het juiste plaatje die bij die keuzen hoord word weer gegeven



Toevoeging op 09/04/2012 15:50:18:

dus niet een uitleg over de if elseif else lus want dat snap ik en dat is de vraag niet ..

en dus niet een voorbeeld met iknietsnappe met alleen een if en else
 
Wouter J

Wouter J

09/04/2012 16:26:15
Quote Anchor link
Noppes wil je graag helpen, maar helaas heeft hij altijd een zeer neidige en irritante toon. Ik raad je aan niet naar die toon te kijken, en de nutteloze reacties te negeren.


Even een begrip uit de wereld helpen: if else lus en if loop. Dit klopt allebei niet. Een loop is in scripttalen for en foreach enzo en dingen met if en else heten statements.

> (...)zo'n uitleg op php.net voor mij vaak op het eerste gezicht een goocheltruc in het chinees lijkt.
Heb je al eens deze tut gelezen? Die zorgt ervoor dat je PHPnet beter begrijpt: http://www.phphulp.nl/php/tutorial/overig/phpnet/757/

Tevens wat meer informatie over de zogenaamde ternary operator: http://phptuts.nl/view/10/


Tevens een antwoord op je echte vraag. We gaan het eerst even uitgebreid opschrijven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$foo
= 'bar';
if ($foo == 'baz') {
  $bar = 'something';
}

elseif ($foo == 'bax') {
  $bar = 'another something';
}

else {
  $bar = 'nothing';
}

?>

Dit kun je ook schrijven als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$foo
= 'bar';
if ($foo == 'baz') {
  $bar = 'something';
}

else {
  if ($foo == 'bax') {
    $bar = 'anothersomething';
  }

  else {
    $bar = 'nothing';
  }
}

?>

Ik hoop dat je deze stap begrijpt? Ga anders even na wat er gebeurd in het eerste voorbeeldje, stap voor stap, en dan wat er gebeurd in het 2e voorbeeldje. Het is belangrijk dat je dit snapt.

Nu hebben we dus eigenlijk 2 if ... else statements. 1tje voor $foo == 'baz' en in de else van deze statement hebben we de if ... else voor $foo == 'bax'.
Als we dit in de zogenaamde ternary operator vorm willen schrijven hebben we dus ook 2x de ternary operator nodig. 1tje voor de eerste if ... else en daarna in de else de 2e.

Laten we eerst de eerste if ... else ternary opschrijven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$foo
= 'bar';
$bar = ($foo == 'baz'
          ? 'something'
          : '' // dit laten we even leeg
        );
?>

Nu schrijven we in de else (dus na de eerste :) de 2e ternary operator en daarmee de if:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$foo
= 'bar';
$bar = ($foo == 'baz'
          ? 'something'
          : ($foo == 'bax'
              ? 'another something'
              : 'nothing'
             )
        );

?>

Nu hebben we de if ... elseif ... else dus opgeschreven in de versie met de ternary operator. De haakjes die er staan zijn voor het overzicht, zo weet je wat bij wat hoort en de 2e paar haakjes zijn zelfs verplicht in PHP (maar dat komt doordat het nog niet 100% in PHP werkt).

Je ziet dus dat je soms iets op een andere manier opschrijven om tot een oplossing te komen.
Gewijzigd op 09/04/2012 16:36:28 door Wouter J
 
Erwin H

Erwin H

09/04/2012 17:05:06
Quote Anchor link
En als we toch bezig zijn, kan je ook kijken naar het switch statement. Als je bij een if statement vele elseif opties krijgt wordt dat al snel onoverzichtelijk. Een switch statement is dan wat makkelijker (wat mij betreft, maar ieder zijn voorkeur uiteraard).

Het voorbeeld van Wouter maar dan met een switch constructie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$foo
= 'bar';
switch( $foo ){
  case
'bax':
    $bar = 'something';
    break;
  case
'baz':
    $bar = 'another something';
    break;
  default:

    $bar = 'nothing';
}

echo $bar;
?>

Met het switch statement kijk je dus naar de waarde van $foo in dit geval. Elke case die jer eronder ziet beschrijft een mogelijke waarde. Als $foo == 'bax' dan wordt het eerste case statement uitgevoer en wordt $bar dus 'something'. De break die erachter staat zorgt dat de executie binnen het switch statement wordt gestaakt erna, zodat de andere statements niet worden uitgevoerd.
Als $foo == 'baz' dan krijg je dus de tweede en als alle zijn doorlopen en er geen match is gevonden dan wordt de default uitgevoerd, in dit geval $bar = 'nothing' dus.
 



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.