login  Naam:   Wachtwoord: 
Registreer je!
 Forum

IF statement met 1 van de variabelen =='1'

Offline juser100 - 02/02/2012 11:32
Avatar van juser100MySQL interesse Ik heb wil een stukje code laten zien met een IF statement als 1 van de 2 waarden (dit kunnen er ook nog altijd meer worden) de waarde 1 bevat.

Nu heb ik het volgende:
  1. IF ($voorwaarde1=='1' && $voorwaarde2=='1')


Hoe krijg ik hier de waarde of i.p.v. en (&&)?

9 antwoorden

Gesponsorde links
Offline Gerard - 02/02/2012 11:43
Avatar van Gerard Ouwe rakker Op de PHP website is dit weggezet onder de 'Logical Operators'.

Het resultaat zou dan dus als volgt zijn:
  1. <?php
  2. if ($voorwaarde1 == 1 || $voorwaarde2 == 1)
  3. {
  4. // Iets doen
  5. }
  6. ?>
Offline juser100 - 02/02/2012 11:52
Avatar van juser100 MySQL interesse En de combinatie van beiden, kan dat ook?

voorbeeld: Voorwaarde1 moet 1 zijn en voorwaarde2 is 1 of voorwaarde3 is 1.

  1. IF ($voorwaarde1=='1' && $voorwaarde2=='1' || $voorwaarde3=='1')


Offline Pieter - 02/02/2012 11:58
Avatar van Pieter Gouden medaille

SEO guru
Kan ook, maar dan moet je haakjes gebruiken hé, zodat het duidelijk is waar die en/of werkt.
Offline juser100 - 02/02/2012 11:59
Avatar van juser100 MySQL interesse Ben een beginner, wat bedoel je precies met haakjes gebruiken?
Offline Pieter - 02/02/2012 12:39 (laatste wijziging 02/02/2012 12:46)
Avatar van Pieter Gouden medaille

SEO guru
Je moet duidelijk maken wat je en/of neemt. Is het (voorwaarde 1 EN voorwaarde 2) OF voorwaarde 3? Of eerder voorwaarde 1 EN (voorwaarde2 OF voorwaarde 3)?

En daarvoor gebruik je haakjes in je if constructie... Speel er eens mee, je zal het wel snel doorhebben.

Een voorbeeldje:
  1. $voorwaarde1='0';
  2. $voorwaarde2='1';
  3. $voorwaarde3='1';
  4.  
  5. if($voorwaarde1=='1' &&($voorwaarde2=='1' || $voorwaarde3=='1')){
  6. //Doet niets want voorwaarde1=0.
  7. }
  8. if(($voorwaarde1=='1' && $voorwaarde2=='1') || $voorwaarde3=='1'){
  9. //Doet wel iets want voorwaarde3=1
  10. }
Offline ibmos2warp - 02/02/2012 21:44
Avatar van ibmos2warp PHP interesse
Pieter schreef:
Kan ook, maar dan moet je haakjes gebruiken hé, zodat het duidelijk is waar die en/of werkt.

Moeten is zo'n groot woord. Dat is dus niet verplicht. Als je je goed inleest en weet wat je doet dan kan je ook zonder moeite gebruik maken van de operator precedence PHP.net: operators.precedence. Haakjes zijn dan niet nodig. Iedere developer zou die precedence wel uit zijn kop moeten kennen en ook proberen zo min mogelijk haakjes te gebruiken, als je veel haakjes gebruikt wordt het een onoverzichtelijke warboel. Bij logica haal je natuurlijk ook zoveel mogelijk haakjes weg en pas je ook demorgan toe...
Offline Pieter - 03/02/2012 11:32
Avatar van Pieter Gouden medaille

SEO guru
Moeten inderdaad niet, daar heb je gelijk in, maar voor simpele zaken leest het toch pakken eenvoudiger, zeker voor een beginner.
Bedankt door: Abbas
Offline juser100 - 03/02/2012 16:01 (laatste wijziging 03/02/2012 16:02)
Avatar van juser100 MySQL interesse Ik kom er niet uit, snap ook niet waar het fout gaat.
Heb 3 tabellen, en afhankelijk van de actieve voorwaarden wil ik de volgende situatie maken:

Alle voorwaarden 1:
Tabel1 Tabel2 Tabel3

Alleen voorwaarden 2 & 3 1:
Tabel2 Tabel3

Alleen voorwaarde 3 1:
Tabel3

Geen voorwaarde 1:
(leeg)

Hiervoor heb ik nu de volgende code gefabriceerd:
  1. <TABLE>
  2. <TR>
  3. <?PHP
  4. IF ($voorwaarde1=='1')
  5. {
  6. $alg_voorwaarde2=0;
  7. $alg_voorwaarde3=0;
  8. ?>
  9. <TD>
  10. <TABLE>
  11. <TR>
  12. <TD>Voorwaarde 1</TD>
  13. </TR>
  14. </TABLE>
  15. </TD>
  16. <?PHP
  17. }
  18. ELSEIF ($voorwaarde2=='1')
  19. {
  20. $alg_voorwaarde2=1;
  21. $alg_voorwaarde3=0;
  22. ?>
  23. <TD>
  24. <TABLE>
  25. <TR>
  26. <TD>Voorwaarde 2</TD>
  27. </TR>
  28. </TABLE>
  29. </TD>
  30. <?PHP
  31. }
  32. ELSEIF ($voorwaarde3=='1')
  33. {
  34. $alg_voorwaarde3=1;
  35. ?>
  36. <TD>
  37. <TABLE>
  38. <TR>
  39. <TD>Voorwaarde 3</TD>
  40. </TR>
  41. </TABLE>
  42. </TD>
  43. <?PHP
  44. }
  45. IF ($voorwaarde2<>'0' && $alg_voorwaarde2<>'1')
  46. {
  47. $alg_voorwaarde2=1;
  48. $alg_voorwaarde3=0;
  49. ?>
  50. <TD>
  51. <TABLE>
  52. <TR>
  53. <TD>Voorwaarde 2</TD>
  54. </TR>
  55. </TABLE>
  56. </TD>
  57. <?PHP
  58. }
  59. ELSEIF ($voorwaarde3=='1')
  60. {
  61. $alg_voorwaarde3=1;
  62. ?>
  63. <TD>
  64. <TABLE>
  65. <TR>
  66. <TD>Voorwaarde 3</TD>
  67. </TR>
  68. </TABLE>
  69. </TD>
  70. <?PHP
  71. }
  72. IF ($voorwaarde3<>'0' && $alg_voorwaarde3<>'1')
  73. {
  74. $alg_voorwaarde3=1;
  75. ?>
  76. <TD>
  77. <TABLE>
  78. <TR>
  79. <TD>Voorwaarde 3</TD>
  80. </TR>
  81. </TABLE>
  82. </TD>
  83. <?PHP
  84. }
  85. ELSE
  86. {
  87. ?>
  88. <TD></TD>
  89. <?PHP
  90. }
  91. ?>
  92. </TR>


Wat doe ik fout?
Offline Pieter - 03/02/2012 19:24
Avatar van Pieter Gouden medaille

SEO guru
Geen idee als je er iets mee bent voor jouw toepassing, maar dit lijkt me wel wat korter en efficiënter te zijn dan 3 keer met if elsjes te werken. Laat die computer voor jou werken.
In deze code checkt hij elke keer als de voorwaarde 1 voldaan is en vervolgens toont hij het stuk die erbij hoort. Kijk even wat rond op php.net, daar vind je wel meer simpele toepassingen en uitleg.

  1. <table>
  2. <tr>
  3. <?php
  4.  
  5. $voorwaarden = array('Voorwaarde 1'=>'1','Voorwaarde 2'=>'1','Voorwaarde 3'=>'1');
  6. foreach($voorwaarden as $voorwaarde => $v) {
  7. if($v=='1'){?>
  8. <td>
  9. <table>
  10. <tr>
  11. <td><?php echo $voorwaarde;?></td>
  12. </tr>
  13. </table>
  14. </td>
  15. <?php
  16. }
  17. }
  18. ?>
  19. </tr>
  20. </table>
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.233s