Foreach 2 array meegeven
is he mogelijk om in een foreach loop 2 waardes mee tegeven
of kan dit niet?
ik heb namelijk een multidimensionale array met 2 keys die ik wil uitlaten lopen.
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Rein de Vries
Code (php)
En dit als ik naar je array kijk:
Hoe ziet je array eruit, en wat wil je bereiken=
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$verplichteVelden =
array
(
'bericht' => array(5 => 45), //minimaal 5, maximaal 45.
'naam' => array(3 => 25) //minimaal 3, maximaal 25.
);
foreach($verplichteVelden as $veldnaam => $eisen )
{
foreach( $eisen as $minimaal => $maximaal )
{
if(strlen(trim($_POST[$veldnaam])) < $minimaal)
{
array_push($error, '<li>Uw '.$veldnaam.' is te kort. Minimaal <strong>'.$minimaal.'</strong> karakters!</li>');
}
if(strlen(trim($_POST[$veldnaam])) > $maximaal)
{
array_push($error, '<li>Uw '.$veldnaam.' is te lang. Maximaal <strong>'.$maximaal.'</strong> karakters!</li>');
}
}
}
?>
$verplichteVelden =
array
(
'bericht' => array(5 => 45), //minimaal 5, maximaal 45.
'naam' => array(3 => 25) //minimaal 3, maximaal 25.
);
foreach($verplichteVelden as $veldnaam => $eisen )
{
foreach( $eisen as $minimaal => $maximaal )
{
if(strlen(trim($_POST[$veldnaam])) < $minimaal)
{
array_push($error, '<li>Uw '.$veldnaam.' is te kort. Minimaal <strong>'.$minimaal.'</strong> karakters!</li>');
}
if(strlen(trim($_POST[$veldnaam])) > $maximaal)
{
array_push($error, '<li>Uw '.$veldnaam.' is te lang. Maximaal <strong>'.$maximaal.'</strong> karakters!</li>');
}
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Mar cel
werkt niet als de sub array verschillende indexes heeft
ik geloof bij een foreach wordt intern ook een count gedaan, dus zou niet veel verschil moeten geven in uitvoer tijd.
en ik heb gemerkt dat $i vaak handig is, bijv je hebt een variable die aangeeft hoe vaak de loop is gedaan.
Jouw scriptje miste nog de vergelijking in de voorwaarde:
moest zijn
Intern werkt foreach trouwens niet met een count. Je kan immers ook key->value paren prima doorwandelen met een foreach-lus, ook wanneer $key eigenlijk niet voorspelbaar is zoals wel het geval is bij deze array, waar $key gewoon van 0 tot n loopt. Daarnaast kan je in een foreach-lus alles gooien wat de IteratorAggregate interface implementeert, en dat is heel leuk wanneer je veel met objecten in PHP werkt.