Frage von Isengo11, 44

Wie liste ich am besten Variablen in PHP auf?

Meine Frage bezieht sich auf einen POST mit AJAX.

Manche Variablen sind leer und ich würde diese gerne so aufschreiben:

var1, var2, var3, var4

Ist nun aber var3 nicht vorhanden sind zwei Kommas vorhanden. Wie löse ich das am besten?

Antwort
von fluffiknuffi, 24

So?

// Zum Testen:
// $_POST = ['a' => 1234, 'c' => 'abc'];

$vars = '';
foreach($_POST as $key => $value) {
if ($vars) {
$vars .= ', ';
}
$vars .= $key;
}
echo $vars;

Je nachdem was genau du haben möchtest geht es vermutlich auch noch etwas eleganter als mit meinem Vorschlag.

Kommentar von Isengo11 ,

Ich empfange in der PHP folgende Werte - allerdings auch andere POSTs, welche ich nicht zusammenfürehn möchte. Wie separiere ich das in dem Fall?

$contract0 = $_POST['contract0'];
$contract1 = $_POST['contract1'];
$contract2 = $_POST['contract2'];
$contract3 = $_POST['contract3'];
Kommentar von fluffiknuffi ,
$_POST = ['contract0' => 1234, 'contract2' => 'abc'];

$keys = ['contract0', 'contract1', 'contract2', 'contract3'];

$vars = '';
foreach ($_POST as $key => $value) {
if (in_array($key, $keys)) {
if ($vars) {
$vars .= ', ';
}
$vars .= $value;
}
}
echo $vars;
Kommentar von Isengo11 ,

var2, , var4 ist das Ergebnis

Kommentar von fluffiknuffi ,

Dann mach statt



 if (in_array($key, $keys)) {



eben



 if (in_array($key, $keys) and $_POST[$key] != null) {

(oder !== null oder whatever)



Antwort
von maximilianus7, 3

versuchs mal damit:

$conts = array();
foreach ( $_POST as $key => $val ):
if ( substr($key, 0, 8) == 'contract' && $val > '' ) $conts[] = $val;
endforeach;
echo implode(',', $conts);
Antwort
von happyfish2, 20

Mit implode()

Kommentar von Isengo11 ,

Problem ist hier, das die PHP über Ajax alle Werte erhält, auch Null und dann ,var2,var3, erstellt als Bsp.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten