Jede Minute eine andere Variable

PHP:
  $Steadte = array_fill_keys(array('01','02','03','04','05','06'), 'Stadt Nr. 1');
  $Steadte+= array_fill_keys(array('07','08','09','10','11','12'), 'Stadt Nr. 2');
  $Steadte+= array_fill_keys(array('13','14','15','16','17','18'), 'Stadt Nr. 3');
  $Steadte+= array_fill_keys(array('19','20','21','22','23','24'), 'Stadt Nr. 4');
  $Steadte+= array_fill_keys(array('25','26','27','28','29','30'), 'Stadt Nr. 5');
  $Steadte+= array_fill_keys(array('31','32','33','34','35','36'), 'Stadt Nr. 6');
  $Steadte+= array_fill_keys(array('37','38','39','40','41','42'), 'Stadt Nr. 7');
  $Steadte+= array_fill_keys(array('43','44','45','46','47','48'), 'Stadt Nr. 8');
  $Steadte+= array_fill_keys(array('49','50','51','52','53','54'), 'Stadt Nr. 9');
  $Steadte+= array_fill_keys(array('55','56','57','58','59','00'), 'Stadt Nr. 10');
  echo $Steadte[(date("i"))];

Hier mit 6er Intervall.
 
Oder noch schöner:
PHP:
$cities = array(
  "Stadt No. 1",
  "Stadt No. 2",
  "Stadt No. 3",
  "Stadt No. 4",
  "Stadt No. 5",
  "Stadt No. 6",
  "Stadt No. 7",
  "Stadt No. 8",
  "Stadt No. 9",
  "Stadt No. 10"
);

// sammelt die Minutenwerte, zu denen eine bestimmte Stadt angezeigt werden soll
$scheduler = array();
// Anzahl an Städten
$count = count($cities);
// wie häufig eine Stadt pro Stunde angezeigt werden soll
$times = 60 / $count;

for ( $i = 0; $i < $count; ++$i ) {
  $scheduler += array_fill_keys(range($i * $times, $i * $times + 5), $cities[$i]);
}

echo $cites[(int) date("i")];
 
Mir ist noch eine schönere Variante eingefallen:
PHP:
$cities = array(
  "Stadt No. 1",
  "Stadt No. 2",
  "Stadt No. 3",
  "Stadt No. 4",
  "Stadt No. 5",
  "Stadt No. 6",
  "Stadt No. 7",
  "Stadt No. 8",
  "Stadt No. 9",
  "Stadt No. 10"
);

// ermittelt Sekunde innerhalb einer Stunde 0..3599
// (60 [Sekunden] * 60 [Minuten] = 3600)
$second = time() % 3600;
// Anzahl Städte
$count  = count($cities);
// Dauer pro Stadt in Sekunden
$duration = 3600 / $count;
// Index der Stadt im Array
$index = (int) ($second / $duration);

echo $cities[$index];
 
Habe ich es richtig verstanden das ich dann beider werte 3600 auf 60 ändern muss das jede Minute eine andere Stadt kommt.?
Oder für 5 Minuten beide werte auf 300 ?
 
Der Dauer, die eine Stadt angezeigt wird, errechnet sich aus der Anzahl der Städte, die zur Auswahl stehen: 60 Minuten durch 10 Städte ergibt 6 Minuten pro Stadt. Du musst also nur das Array mit den Städten ändern, der Rest errechnet sich daraus.
 
Zurück