Een ForLus

Status
Niet open voor verdere reacties.

Helpmijtoch

Gebruiker
Lid geworden
15 feb 2008
Berichten
620
Hallo,

Ik ben een LeEk wat betref prgrameren

Ik heb een array, ik kreeg de opdracht om die te definiëren en printen

Moet dit d.m.v. een "for-lus"??? en hoe?

hieronder de script
M.v.g.

Bj


----------------------------------------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
<title>Paginatitel</title>
</head>
<body>
<pre>
<?php

// een verzameling gegevens
$array = array(Jan=>'7,4',Piet=>'3,6',Klaas=>'7,5',Kees=>'6,2',Jaap=>'3,1');

// één element printen
print ("Mark heeft een: {$cijfer['Klaas']} \n");

// de hele tabel printen
print "<br \>\n";
// de array verdeel je in twee variabelen, eerst de sleutel (voor de peil,=>) en dan de waarde
// in dit geval een variabele naam en een variabele cijfer
foreach ($array as $naam=>$cijfer)
{
print("$naam heeft cijfer: $cijfer \n");
}

// alleen de cijfers printen
print "<br \>\n";
foreach ($array as $naam=>$cijfer)
{
print("Cijfer: $cijfer \n");
}

?>
</pre>
</body>
</html>
 
Hoezo dan? De FOREACH doet het werk toch?

Dan heb je geen FOR-lus meer nodig.
 
Niet zo moeilijk:

PHP:
// Array defineren
$array = array("een", "twee", "drie");

// FOR-lus om door de array te lopen
for($i=0; $i < count($array)-1; $i++) {
  echo $array[$i] .'<br />';
}
Basisprincipe is dat je een beginwaarde stelt ($i is 0), daarna tot hoever hij moet gaan ($i kleiner dan het aantal in de array) en als laatste de verhoging per "stap" ($i + 1)
 
Niet zo moeilijk:

PHP:
// Array defineren
$array = array("een", "twee", "drie");

// FOR-lus om door de array te lopen
for($i=0; $i < count($array)-1; $i++) {
  echo $array[$i] .'<br />';
}
Basisprincipe is dat je een beginwaarde stelt ($i is 0), daarna tot hoever hij moet gaan ($i kleiner dan het aantal in de array) en als laatste de verhoging per "stap" ($i + 1)

OK, bedankt, maar hoe kan ik het in mij geval combinerne met cijfers...?
Als ik de onderstaande script uitvoer komt er niets te staan.

<?php
// Array defineren
$array = array(Jan=>'7,4',Piet=>'3,6',Klaas=>'7,5',Kees=>'6,2',Jaap=>'3,1');

// FOR-lus om door de array te lopen
for($i=0; $i < count($array)-1; $i++) {
echo $array[$i] .'<br />';
}

?>
</pre>

-----------------------------------------------------------------------------------------------------
ik zal wel weer iets heel stoms doen;)
 
Overigens moet je wel de namen met quotes neerzetten.
En gelieve ook even gebruik maken van
PHP:
...
om je code hier op het forum ;)

Moet je van je leraar aan de hand van deze array een FOR-lus maken? Of heb je die zelf bedacht?
 
Overigens moet je wel de namen met quotes neerzetten.
En gelieve ook even gebruik maken van
PHP:
...
om je code hier op het forum ;)

Moet je van je leraar aan de hand van deze array een FOR-lus maken? Of heb je die zelf bedacht?

Sorry ik wist het niet van
PHP:
(weer wat geleerd)
Aan de hand van die array moet ik een FOR-lus maken.

Kunt u mij helpen?
M.v.g.
BJ
 
Ik moet zeggen dat het voor deze array erg onlogisch is om voor een FOR te kiezen in plaats van een FOREACH.

PHP:
// Array defineren 
$array = array("Jan" =>"7,4","Piet"=>"3,6","Klaas"=>"7,5","Kees"=>"6,2","Jaap"=>"3,1"); 

// FOR-lus om door de array te lopen
for($i=0; $i < count($array)-1; $i++) {
  if($i == 0){
    echo current($array) .'<br />';
  } else {
    echo next($array) .'<br />';
  } 
}
Alle waardes uit de array op een omslachtige manier ;)
 
Ik moet zeggen dat het voor deze array erg onlogisch is om voor een FOR te kiezen in plaats van een FOREACH.

PHP:
// Array defineren 
$array = array("Jan" =>"7,4","Piet"=>"3,6","Klaas"=>"7,5","Kees"=>"6,2","Jaap"=>"3,1"); 

// FOR-lus om door de array te lopen
for($i=0; $i < count($array)-1; $i++) {
  if($i == 0){
    echo current($array) .'<br />';
  } else {
    echo next($array) .'<br />';
  } 
}
Alle waardes uit de array op een omslachtige manier ;)

Knap stukje werk! alleen nu geeft hij de namen niet weer
wat kan ik hieraan doen?

PHP:
<?php
// Array defineren  
$array = array("Jan" =>"7,4","Piet"=>"3,6","Klaas"=>"7,5","Kees"=>"6,2","Jaap"=>"3,1");  

// FOR-lus om door de array te lopen 
for($i=0; $i < count($array)-1; $i++) { 
  if($i == 0){ 
    echo current($array) .'<br />'; 
  } else { 
    echo next($array) .'<br />'; 
  }  
}  
?>
 
Na meerdere opties uitgeprobeerd te hebben om het bij 1 array te laten heb ik toch maar een extra array aangemaakt.

PHP:
// Array defineren 
$array = array("Jan" =>"7,4","Piet"=>"3,6","Klaas"=>"7,5","Kees"=>"6,2","Jaap"=>"3,1"); 
// Alle sleutels vangen
$arrayKeys = array_keys($array);
// FOR-lus om door de array te lopen
for($i=0; $i < count($array)-1; $i++) {
  echo $arrayKeys[$i] .' heeft een '. $array[$arrayKeys[$i]] .'<br />';
}
 
Na meerdere opties uitgeprobeerd te hebben om het bij 1 array te laten heb ik toch maar een extra array aangemaakt.

PHP:
// Array defineren 
$array = array("Jan" =>"7,4","Piet"=>"3,6","Klaas"=>"7,5","Kees"=>"6,2","Jaap"=>"3,1"); 
// Alle sleutels vangen
$arrayKeys = array_keys($array);
// FOR-lus om door de array te lopen
for($i=0; $i < count($array)-1; $i++) {
  echo $arrayKeys[$i] .' heeft een '. $array[$arrayKeys[$i]] .'<br />';
}

Werkelijk fantastisch!:thumb:

BEDANKT!!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan