-
PHP Nachhilfe
Ihr Lieben,
wie bekomme ich zwischen new_start und new_end einen Bindestrich, der nicht ausgegeben wird, wenn keine Daten vorhanden sind?
PHP-Code:
<?php if ($this->repeatFixedDates): ?>
<?php $arr = deserialize($this->repeatFixedDates); echo $arr[2]['reason']; ?>
<?php $arr = deserialize($this->repeatFixedDates); echo $arr[2]['new_repeat']; ?>
<?php $arr = deserialize($this->repeatFixedDates); echo $arr[2]['new_start']; ?> <?php $arr = deserialize($this->repeatFixedDates); echo $arr[2]['new_end']; ?>
<?php endif ?>
Gruß Sebastian
-
PHP-Code:
<?php
if ($this->repeatFixedDates) {
$arr = deserialize($this->repeatFixedDates);
echo $arr[2]['reason'];
echo $arr[2]['new_repeat'];
echo $arr[2]['new_start'];
if ($arr[2]['new_start'] && $arr[2]['new_end']) {
echo '-';
}
echo $arr[2]['new_end'];
}
?>
Anmerkung: ich finde den Code besser lesbar, wenn nicht jeder Befehl einzeln in <?php ...?> "geklammert" wird. Außerdem kannst Du Dir so sparen $this->repeatFixedDates mehrfach zu deserialisieren.
-
Hallo Sebastian,
wenn ich es richtig überflogen habe, gibt es keinen Grund, dass Array mehrfach zu deserialisieren. Außerdem kann man den ganzen Block zusammenziehen da er ja zusammengehört. Der Bindestrich wird jetzt durch die if-Abfrage nur ausgegeben, wenn sowohl $arr[2]['new_start'] als auch $arr[2]['new_end'] vorganden sind.
PHP-Code:
<?php
if ($this->repeatFixedDates) {
$arr = deserialize($this->repeatFixedDates);
echo $arr[2]['reason'];
echo $arr[2]['new_repeat'];
echo $arr[2]['new_start'];
if ($arr[2]['new_start'] && $arr[2]['new_end']) { echo '-'; }
echo $arr[2]['new_end'];
}
?>
Ich hoffe dies hilft Dir weiter.
Viele Grüße,
eS_IT
EDIT: Mist, zuspät. :D
-
Ihr seid richtig krass ;-)
herzlichen Dank für Eure Unterstützung