Verjaardag in php

Status
Niet open voor verdere reacties.
de data en de namen:(

kga d'r nu aan beginne, zal probere maandagavond af te make, morge geen tijd, maandag overdag werke dus..
 
Is dit een begginetje?

PHP:
<?php



$jarig = array(
'08-07'=>'Jaap', 
'17-12'=>'Jan' );



		setlocale (LC_ALL, 'nl_NL');
		$datum = strftime ("%d-%m");


		$jaar = strftime ("%y");

if(isset($jarig[$datum]))
    {

echo"$jarig[$datum]";

}
?>
 
hij leest de array van onder en stopt zodra hij er eentje heeft.. hoe doe ik dat anders?

btw, werkt wel!
 
De array doorlopen?
PHP:
<?php
$jarig = array(
'08-07'=>'Jaap', 
'17-12'=>'Jan' );

setlocale (LC_ALL, 'nl_NL');
$datum = strftime ("%d-%m");
$jaar = strftime ("%y");

foreach($jarig AS $verjaardag => $naam) {
  if($verjaardag == $datum) {
    echo $jarig[$datum] .'<br />';
  }
}
?>
 
Dan maar even debuggen...
PHP:
<?php 
$jarig = array( 
'08-07'=>'Jaap',  
'17-12'=>'Jan' ); 

setlocale (LC_ALL, 'nl_NL'); 
$datum = strftime ("%d-%m"); 
$jaar = strftime ("%y"); 

foreach($jarig AS $verjaardag => $naam) {
 echo 
'Naam: '. $jarig[$datum] .'<br />
Datum: '. $datum .'<br />
Verjaardag '. $verjaardag .'<hr />';
  if($verjaardag == $datum) { 
    echo '<b>'. $jarig[$datum] .' is jarig!!!</b><hr />'; 
  } 
} 
?>
 
Kweetnie wat je nu anders hebt gedaan dan die echo, de oplossing is het in ieder geval niet. Ik heb nu:

PHP:
<?php

$jarig = array(
'01-09'=>'Arend',
'16-08'=>'pietje',
'16-08'=>'jantje',
'16-08'=>'wiedanook',
'08-07'=>'Jaap');

setlocale (LC_ALL, 'nl_NL'); 
$datum = strftime ("%d-%m"); 
$jaar = strftime ("%y"); 

foreach($jarig AS $verjaardag => $naam) {
 echo 
'Naam: '. $jarig[$datum] .'<br />
Datum: '. $datum .'<br />
Verjaardag '. $verjaardag .'<hr />';
  if($verjaardag == $datum) { 
    echo '<b>'. $jarig[$datum] .' is jarig!!!</b><hr />'; 
  } 
}  
?>
 
debuggen = kijken waar de fout zit.

Aangezien alle variabelen worden weergeven kun je dus kijken wat er precies fout gaan.
 
Klopt toch?
De verjaardag van die "wiedaook" is vandaag...

Zo te zien heb je iedereen "wiedaook" genoemd, dan wordt het nogal moeilijk uit elkaar te houden nietwaar?
 
$jarig = array(
'01-09'=>'Arend',
'16-08'=>'pietje',
'16-08'=>'jantje',
'16-08'=>'wiedaoook',
'08-07'=>'Jaap');


dat is mijn array....

waar is pietje? waar is jantje?
 
Ik zie het probleem al...

Je gebruikt de datum als arraysleutel.
16-08 gebruik je 3x dus hij houdt alleen de laatste waarde.

Door de array om te draaien komt het wel goed alleen zul je de namen dus uniek moeten hebben want als je nu 2x een "jantje" hebt dan onthoudt hij alleen de laatste.

PHP:
<?php

$jarig = array(
'Arend' => '01-09',
'pietje' => '16-08',
'jantje' => '16-08',
'wiedanook' => '16-08',
'Jaap' => '08-07');

setlocale (LC_ALL, 'nl_NL'); 
$datum = strftime ("%d-%m"); 
$jaar = strftime ("%y"); 

foreach($jarig AS $naam => $verjaardag) {
  if($verjaardag == $datum) { 
    echo '<b>'. $naam .' is jarig!!!</b><hr />'; 
  } 
}  
?>
 
fantastic! dat werkt.

nog 1 vraagje, kan ik er ook de leeftijd die diegene word geechoot worden?
door het jaartal in de array te zetten ofzo?
 
Wordt wat lastiger aangezien je dan aardig wat extra berekeningen moet gaan doen.

Je kunt niet simpelweg $huidigeJaar - $geboorteJaar doen aangezien je dan met verkeerde resultaten zult uitkomen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan