array-ausgabe
Daniel82
- php
Hallo,
$arr = array($a,$b,$c,$d,$e);
echo $arr;
Die Variablen werden über ein Formular gesetzt. Wenn eine Variable in der Länge 0 ist, soll diese gar nicht erst ausgegeben werden, denn alle sollen durch ein Komma getrennt angezeigt werden.
Wie mache ich das?
Hallo,
Unelegant aber funktioniert:
<?php
$arr = array($a,$b,$c,$d,$e);
if($a != '') $ausgabe .= $a . ', ';
if($b != '') $ausgabe .= $b . ', ';
if($c != '') $ausgabe .= $c . ', ';
if($d != '') $ausgabe .= $d . ', ';
if($e != '') $ausgabe .= $e;
echo $ausgabe;
?>
Gibt aber bestimmt bessere Lösungsansätze...
Grüße,
Willi
Hallo,
Unelegant aber funktioniert:
<?php
$arr = array($a,$b,$c,$d,$e);
if($a != '') $ausgabe .= $a . ', ';
if($b != '') $ausgabe .= $b . ', ';
if($c != '') $ausgabe .= $c . ', ';
if($d != '') $ausgabe .= $d . ', ';
if($e != '') $ausgabe .= $e;
echo $ausgabe;
?>
> Gibt aber bestimmt bessere Lösungsansätze...
> Grüße,
> Willi
Was ist, wenn c,d und e nicht bestückt ist? Dann ist ein Komma zu viel!
Hoi!
Wie wärs mit ner Zählschleife?
for($i=1;$i<6;$i++)
{
if (!(array[$i] == ''))
{
echo array[$i].", ";
}
}
jetzt könnte man noch bei else den Inhalt entfernen, wenn das Array da leer ist, aber ansonsten gibt das jetzt nur die sachen aus, die da sind mit komma getrennt -.-
Verbesserung wär noch ne weitere If abfrage, ob $i==5 damit beim letzten dann kein Komma kommt ^^
mfg
Yinan
Hoi!
Wie wärs mit ner Zählschleife?
for($i=1;$i<6;$i++)
{
if (!(array[$i] == ''))
{
echo array[$i].", ";
}
}jetzt könnte man noch bei else den Inhalt entfernen, wenn das Array da leer ist, aber ansonsten gibt das jetzt nur die sachen aus, die da sind mit komma getrennt -.-
Verbesserung wär noch ne weitere If abfrage, ob $i==5 damit beim letzten dann kein Komma kommt ^^mfg
Yinan
Ja, auch bei deinem Beispiel kommt das Komma! :(
Moin
Überprüfe zuerst die Post-Daten auf Inhalt und setze diese erst dann ins array. Damit umgehst du dein Problem.
Gruß Bobby
Hoi!
Sind die Variablen denn Zahlen? Also sind da Zahlen drin? Wenn ja, musst du die Abfrage natürlich umändern:
if(!(array[$i] == 0))
oder du denkst einfach an mehrere Sachen:
if(!((array[$i] == 0) OR (array[$i] == '') OR (array[$i] == '0')))
wenn das array dann leer ist oder den Zahlenwert 0 hat oder einen String mit den inhalt 0 hat, dann wird es nicht ausgegeben, ansonsten schon...
mfg
Yinan
Hallo,
Hallo,
Unelegant aber funktioniert:
<?php
$arr = array($a,$b,$c,$d,$e);
if($a != '') $ausgabe .= $a . ', ';
if($b != '') $ausgabe .= $b . ', ';
if($c != '') $ausgabe .= $c . ', ';
if($d != '') $ausgabe .= $d . ', ';
if($e != '') $ausgabe .= $e;
echo $ausgabe;
?>
> > Gibt aber bestimmt bessere Lösungsansätze...
> > Grüße,
> > Willi
>
> Was ist, wenn c,d und e nicht bestückt ist? Dann ist ein Komma zu viel!
Dann halt folgendes:
~~~php
<?php
$arr = array($a,$b,$c,$d,$e);
if($a != '') $ausgabe .= $a;
if($b != '') $ausgabe .= ', ' . $b;
if($c != '') $ausgabe .= ', ' . $c;
if($d != '') $ausgabe .= ', ' . $d;
if($e != '') $ausgabe .= ', ' . $e;
echo $ausgabe;
Geht auch bei dem Post unter mir
?>
Grüße,
Willi
echo $begrüßung;
$arr = array($a,$b,$c,$d,$e);
echo $arr;
So bekommst du den Array-Inhalt aber nicht ausgegeben.
Die Variablen werden über ein Formular gesetzt. Wenn eine Variable in der Länge 0 ist, soll diese gar nicht erst ausgegeben werden, denn alle sollen durch ein Komma getrennt angezeigt werden.
Du müsstest zuerst das Array durchlaufen und die 0-Werte entfernen. Dafür eignet sich array_filter(). Danach kannst es du mit implode() verkommaen lassen.
echo "$verabschiedung $name";
Hallo Daniel,
Die Variablen werden über ein Formular gesetzt. Wenn eine Variable in der Länge 0 ist, soll diese gar nicht erst ausgegeben werden, denn alle sollen durch ein Komma getrennt angezeigt werden.
In dem Du die Funktion empty() einbaust.
Viele Grüße,
Stefan
Hallo Daniel,
$arr = array($a,$b,$c,$d,$e);
echo $arr;
Die Variablen werden über ein Formular gesetzt. Wenn eine Variable in der Länge 0 ist, soll diese gar nicht erst ausgegeben werden, denn alle sollen durch ein Komma getrennt angezeigt werden.
Ein Ansatz:
<?php
$arr_names = array('a', 'b', 'c', 'd', 'e');
$arr = array();
foreach ($_GET as $field => $value) {
if (in_array($field, $arr_names) && strlen($value) > 0) {
$arr[] = $value;
}
}
echo implode(',', $arr);
?>
Schöne Grüße,
Johannes