Tjena!
Har lyckats fastna i detta scriptet...
Tanken jag har är att få nästa händelse att synas, dvs ej som nu att det skrivs ut alla som är större än dagens datum. Utan endast nästa.
Går det att lösa i denna koden?
Har försökt lösa det med en else sats, men kan ej komma på hur man skriver för att endast få "next" (Eller liknande)
<?
$arrDays = array(
"10-15" => array("Göteborg borta"),
"04-16" => array("Halmstad hemma"),
"06-20" => array("Landskrona borta"),
);
foreach($arrDays as $key =\> $arr){
if (date("m-d")==$key \|\| date("Y-m-d")==$key \|\| date("Y-m-d")\<$key){
echo "\<b\>".$key."\</b\>\<br\>";
foreach($arr as $val)
echo births($val)."\<br\>"; echo "\<br\>";
}
}
function births($string){
preg_match_all("/\[yy=(\[^\]\]\*?)\]/", $string, $matches);
for ($i=0;$i\<count($matches);$i++)
$string = str_replace($matches\[0\]\[$i\],date("Y")-$matches\[1\]\[$i\],$string);
return $string;
}
?>
lunne82Medlem sedan dec. 2003153 inlägg Alltså, vill du skriva ut allt i arrayen $arrDays eller bara de två kommande (från dagens datum sett)?
Är väl bara att göra som du gjort men du lägger till en if-sats som hela tiden kollar om den aktuella händelsen är mindre än "next" så att säga. Då den man tittar på blir mindre har du "kört förbi" den och ska då bara skriva ut info om en till "nästa". Då du skrivit ut den informationen använder du bara break 2 eller vad som behövs för att sluta skriva ut. Är du med?
Tack för svaret!
Grejjen är att jag e helt ny när det gäller php. Hittade detta scriptet på nätet och tänkte försöka använda de till att visa näst kommande match.
Dvs att den hela tiden skriver ut en rad, den raden som ej varit men som kommer sedan.
lunne82Medlem sedan dec. 2003153 inlägg Ok, detta är ett förslag. Ändrade bara din foreach, inget annat. Om det är en match dagens datum skriver den ut den också, annars skriver den bara ut nästa match.
foreach($arrDays as $key => $arr){
// Next
if (strcmp(date("m-d"),$key) < 0) {
echo "Next:<b>".$key."</b><br />";
foreach($arr as $val)
echo births($val)."<br>"; echo "<br>";
break;
}elseif(strcmp(date("m-d"),$key) == 0) {
echo "Today:<b>".$key."</b><br />";
foreach($arr as $val)
echo births($val)."<br>"; echo "<br>";
}
}
tack för svar!
Har fått de att funka nu!