Probleme avec un array - PHP - Programmation
Marsh Posté le 25-06-2008 à 20:51:01
As-tu réussi à te dépatouiller autrement ?
Marsh Posté le 25-06-2008 à 21:25:01
pour la fin du script:
echo '<pre>';
print_r($aDates);
echo '</pre>';
en effet print_r envoi direct vers la sortie, c'est "comme" echo...
voici un moyen pour parcourir le tableau:
Code :
|
ca liste toutes les dates... remplace le echo $jours; par ce que tu veu
ne sachant pas ce que tu veu en faire c difficile d'en dire plus.
Marsh Posté le 02-07-2008 à 17:21:48
merci wrksx,
j'ai proceder autrement.
j'ai converti mes dates en timestamp, et je fais une comparaison entre ma date du jour et celle de debut et de fin.
De cette maniere, je sais si l'on est dans la periode donnee.
merci bcp pour ton aide !
Marsh Posté le 03-07-2008 à 08:26:13
Bonjour,
Je ne sais pas ce que tu as trouvé comme solution, mais il y a ça :
Code :
|
Marsh Posté le 24-06-2008 à 14:11:07
Bonjour à tous,
Je viens de trouver un petit script me permettant de trouver les dates comprises en tre 2 dates données.
Jusque la tout va bien.
Par contre, je dois recuperer les valeurs des dates contenues dans le tableau afin de les comparer avec d'autres dates (provenant d'une bdd).
Apres avoir cherché, j'avoue etre paumé et n'arrive pas à extraire que les dates de ce tableau...
Si quelqu'un pouvait m'apporter un peu d'aide...
voici le code permettant de recuperer les dates :
<?php
/**
* function getDatesBetween
* renvoie un tableau contenant toutes les dates, jour par jour,
* comprises entre les deux dates passées en paramètre.
* NB : les dates doivent être au format aaaa-mm-dd (mais on peut changer le parsing)
* @param (string) $dStart : date de départ
* @param (string) $dEnd : date de fin
* @return (array) aDates : tableau des dates si succès
* @return (bool) false : si échec
*/
function getDatesBetween ($dStart, $dEnd) {
$iStart = strtotime ($dStart);
$iEnd = strtotime ($dEnd);
if (false === $iStart || false === $iEnd) {
return false;
}
$aStart = explode ('/', $dStart);
$aEnd = explode ('/', $dEnd);
if (count ($aStart) !== 3 || count ($aEnd) !== 3) {
return false;
}
if (false === checkdate ($aStart[1], $aStart[2], $aStart[0]) || false === checkdate ($aEnd[1], $aEnd[2], $aEnd[0]) || $iEnd <= $iStart) {
return false;
}
for ($i = $iStart; $i < $iEnd + 86400; $i = strtotime ('+1 day', $i) ) {
$sDateToArr = strftime ('%d/%m/%Y', $i);
$sYear = substr ($sDateToArr, 6, 4);
$sMonth = substr ($sDateToArr, 3, 2);
$aDates[$sYear][$sMonth][] = $sDateToArr;
}
if (isset ($aDates) && !empty ($aDates)) {
return $aDates;
} else {
return false;
}
}
$aDates = getDatesBetween ('2008/09/01', '2008/10/31');
echo '<pre>', print_r ($aDates), '</pre>';
echo $aDates[$val];
?>
Merci d'avanace pour votre aide !