Versio

For-loopje: kan dit..?

Overzicht Reageren

Eric Cartman

Eric Cartman

07/11/2005 18:41:00
Quote Anchor link
Hallo,
Ik gebruik niet echt vaak for-loopjes, vandaar ook mijn probleem. Ik wil graag onderstaande code in een for-loopje zetten, maar zelf lukt het me niet...

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
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
  if ($getal == 1) {
    $een++;
  }

  if ($getal == 2) {
    $twee++;
  }

  if ($getal == 3) {
    $drie++;
  }

  if ($getal == 4) {
    $vier++;
  }

  if ($getal == 5) {
    $vijf++;
  }

  if ($getal == 6) {
    $zes++;
  }
    
  if ($getal == 7) {
    $zeven++;
  }

  if ($getal == 8) {
    $acht++;
  }

  if ($getal == 9) {
    $negen++;
  }

  if ($getal == 10) {
    $tien++;
  }

?>


Ik weet niet of het wel kan, maar als het kan, hoe..?

Groetjes,

Jip
Gewijzigd op 07/11/2005 18:42:00 door Eric Cartman
 
PHP hulp

PHP hulp

24/05/2012 16:48:12
Gesponsorde koppelingen:
 
Martijn B

Martijn B

07/11/2005 18:45:00
Quote Anchor link
Wat lukt er niet?, waarom gebruik je geen switch.

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

switch( $getal )
{
  case
1:
    $een++;
     break;
  case
2:
    $twee++;
     break;
}


?>
Gewijzigd op 07/11/2005 18:45:00 door Martijn B
 
Thijs X

Thijs X

07/11/2005 18:46:00
Quote Anchor link
Edit laatma

Edit: Wat is precies de bedoeling, waar komt $getal vandaan en $een enzo
Gewijzigd op 07/11/2005 18:47:00 door Thijs X
 
Eric Cartman

Eric Cartman

07/11/2005 18:59:00
Quote Anchor link
In een ander zei Jelmer dan hij wilde controleren of de functie rand() wel eerlijk was... Dat wilde ik dus ook gaan doen :p en deed dat zo:

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
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
$n
= 1000;
for ($i = 1; $i <= $n; $i++) {
  $getal = rand(1, 10);
 
  if ($getal == 1) {
    $een++;
  }

  if ($getal == 2) {
    $twee++;
  }

  if ($getal == 3) {
    $drie++;
  }

  if ($getal == 4) {
    $vier++;
  }

  if ($getal == 5) {
    $vijf++;
  }

  if ($getal == 6) {
    $zes++;
  }
    
  if ($getal == 7) {
    $zeven++;
  }

  if ($getal == 8) {
    $acht++;
  }

  if ($getal == 9) {
    $negen++;
  }

  if ($getal == 10) {
    $tien++;
  }
}


echo "<b>Eén :</b> " .$een. "<br>";
echo "<b>Twee :</b> " .$twee. "<br>";
echo "<b>Drie :</b> " .$drie. "<br>";
echo "<b>Vier :</b> " .$vier. "<br>";
echo "<b>Vijf :</b> " .$vijf. "<br>";
echo "<b>Zes :</b> " .$zes. "<br>";
echo "<b>Zeven :</b> " .$zeven. "<br>";
echo "<b>Acht :</b> " .$acht. "<br>";
echo "<b>Negen :</b> " .$negen. "<br>";
echo "<b>Tien :</b> " .$tien. "<br>";
?>


Maar nou lijkt het mij, dat al die if'jes ook in een for-loopje kunnen, en dat is nou juist het punt, dat lukt mij dus niet.

-- edit--
Martijn2:
Wat lukt er niet?, waarom gebruik je geen switch.

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

switch( $getal )
{
  case
1:
    $een++;
     break;
  case
2:
    $twee++;
     break;
}


?>


Kan, maar dat wordt ook zo lang (ik hou van kort :p)...
Gewijzigd op 07/11/2005 19:01:00 door Eric Cartman
 
Robert Deiman

Robert Deiman

07/11/2005 19:07:00
Quote Anchor link
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
15
<?php

/*hier een array met de getallen en hun waarden*/
$getallen = array('geschreven' =>
                array('1' => 'EEN',
                        '2' => 'TWEE',
                        '3' => 'DRIE'));
//etcetera//


$maxloops=10;
for($getal=1 ; $getal <=$maxloops ; $getal++){
echo ("$getal:{$getallen['geschreven'][$getal]}<br>");
}

?>


EDIT:
Ik weet dat die andere manieren ook werken, maar wou toch ff laten zien dat het idd mogelijk is met een loopje ;)
Gewijzigd op 07/11/2005 19:59:00 door Robert Deiman
 
Jan Koehoorn

Jan Koehoorn

07/11/2005 19:59:00
Quote Anchor link
Robert:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo ("$getal:{$getallen['geschreven'][$getal]}<br>");
?>


Die zal waarschijnlijk niet werken Robert, omdat PHP die eerste $getal als een variabele zal proberen te interpreteren vanwege de dubbele quotes.

Ik doe het ook pas sinds kort, maar alle variabelen buiten quotes blijft toch veiliger in dit soort gevallen.

edit: oh wacht, je echoot gewoon de waarde van $getal, dan werkt het wèl :-)
Gewijzigd op 07/11/2005 20:00:00 door Jan Koehoorn
 
Robert Deiman

Robert Deiman

07/11/2005 20:34:00
Quote Anchor link
Jan:
Robert:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo ("$getal:{$getallen['geschreven'][$getal]}<br>");
?>


Die zal waarschijnlijk niet werken Robert, omdat PHP die eerste $getal als een variabele zal proberen te interpreteren vanwege de dubbele quotes.

Ik doe het ook pas sinds kort, maar alle variabelen buiten quotes blijft toch veiliger in dit soort gevallen.

edit: oh wacht, je echoot gewoon de waarde van $getal, dan werkt het wèl :-)


Tuurlijk Jan, ik test de scripts die ik hier compleet neerzet zelf ook wel hoor.. Als het niet had gewerkt had ik het ook niet gepost. Hij geeft in dit geval netjes een lijstje met:
1: EEN
2: TWEE
etc.
 
- SanThe -

- SanThe -

07/11/2005 21:08:00
Quote Anchor link
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
$tel
=array(0,0,0,0,0,0,0,0,0,0);
$n = 1000;
for ($i = 1; $i <= $n; $i++)
{

  $getal = rand(1, 10);
  $tel[$getal-1]++;
}


for ($i = 1; $i <= 10; $i++)
{

echo "<b>".$i." :</b> " .$tel[$i-1]. "<br>";
}

?>
 



Overzicht Reageren

Get Adobe Flash player