Hey,

Ik zit met het volgende probleem.
Ik heb een array met daarin verschillende waardes.
De array wordt dynamisch gevuld en heeft daarom nooit een maximum.

Nu wil ik een specifieke waarde uit die array halen.
Ik weet dat ik elke keer de 5e opvolgende waarde wil hebben.
Even als voorbeeld:

<?php
$servicekosten = get_user_meta( $user->ID, 'appartment', true );
// Hier wordt de array uit de database gehaald

foreach($servicekosten as $key => $value) {
echo $key . '=>' . $value . '<br>' ;
}
?>

Output:
0=>waarde1
1=>waarde2
2=>waarde3
3=>waarde4
4=>waarde5
5=>waarde6
6=>waarde7
7=>waarde8
8=>waarde9
9=>waarde10
10=>waarde11
11=>waarde12

Dit zorgt er voor dat ik alle waarde uit de array krijg maar ik wil nu elke 5e waarde hebben
In dit geval key5 => waarde6 en key11 => waarde12

Hoe zou ik dit het beste kunnen doen?

-EDIT-
Ik heb nu een tellertje toegevoegd die als volgt werkt:
<?php
$i=0;
foreach($servicekosten as $key => $value) {
if ($i++ == 5)
echo $key . '=>' . $value . '<br>' ; }
?>

Nu laat hij de 5e waarde zien maar niet de volgende
key5 is dus de 6e waarde.... ik neem aan dat je de eerste ook wil hebben (key 0).

Maar goed iets als dit:
<?php
$i = 0;
$l = count( $servicekosten );
while ( $i < $l ){
echo $servicekosten[$i];
$i += 5;
}
?>
Bij een geïndexeerde array kun je de index tussen haakjes noemen:

echo $key[5];
@Erwin

Sorry de -EDIT- in mijn post was gelijk met jouw antwoord.
Ik heb je script gebruikt en heb niet de eerste waarde nodig.
Echter de 1e keer 5e waarde is goed alleen de volgende is net een te snel.

Output is:
waarde1waarde5waarde10

waarde10 had waarde11 moeten zijn.

Thnx voor je reply dit is wel wat ik bedoel :-)




[size=xsmall]Toevoeging op 24/01/2013 16:41:34:[/size]

Als volgt opgelost:

<?php
$i = 5;
$l = count( $servicekosten_appartment );
while ( $i < $l ){
echo $servicekosten_appartment[$i];
$i += 6;
}
?>

Ik heb van $i=0 $i=5 gemaakt, want 5 is toch altijd de eerste Key die gebruikt moet worden
Dan heb ik elke keer $i += 6 gebruikt om er steeds 6 bij op te tellen en dit werkt.

Thnx guys

Stap 2 :P
Ik wil nu dat alle waardes worden opgeteld die uitgelezen zijn :-)
Ik heb dit eerder gedaan met vaste waardes die niet uit een array kwamen maar dat kan nu niet.
<?php
$totaal = $waarde1 + $waarde2;
echo $totaal;
?>

Hoe kan ik dit nu met de waardes van de array doen. Ik wil ze niet eerst opslaan en volgens mij zou dat ook niet hoeven.

- Laat maar, foute gedachte. -
- Mark - op 24/01/2013 16:56:32


- Laat maar, foute gedachte. -


Jammer.....! :-)
<?php
$i = 5;
$l = count( $servicekosten_appartment );
$totaal = 0;
while ( $i < $l ){
echo $servicekosten_appartment[$i];
$totaal += $servicekosten_appartment[$i];
$i += 6;
}
?>
@Erwin.

Top dank je.
Ik heb $totaal += $servicekosten_appartment[$i]; wel even in een nieuwe variable moeten zetten om hem te echooen

Michel van B op 24/01/2013 17:23:22

Ik heb $totaal += $servicekosten_appartment[$i]; wel even in een nieuwe variable moeten zetten om hem te echooen


Waarom?

echo $totaal;
@SanThe.

Euhm.......

Bij nader inzien haha!

geen idee... niet goed gekeken denk ik......

Reageren