2016-06-18 6 views
-2

Ich habe Variablen mit Werten:PHP-Code zu schieben bedingte Werte um Array

$abc = 'Y'; 

$xyz = 'N'; 

$pqr = 'Y'; 

$lmn = 'Y'; 

Ich möchte die Variablen alle mit Wert schaffen 'Y' in einem Array ähnlich wie unten:

$result = (abc, pqr, lmn) 
+1

Scheint wie ein 'jugaad' zu mir. Erklären Sie das vollständige Problem. –

+0

Sie möchten ein Ergebnis mit drei 'Y' Werten in einem Array? Warum? – trincot

+0

Ich denke, er möchte Namen der Variablen in ein Array setzen. –

Antwort

0

Für Start, sammeln Sie alle Ihre Variablen auf ein Array:

$vars = [ 
    'abc' => $abc, 
    'xyz' => $xyz, 
    'pqr' => $pqr, 
    'lmn' => $lmn 
]; 

Oder $vars = compact('abc','xyz','prq','lmn');, wie @NiettheDarkAbsol vorgeschlagen.

Jetzt können Sie sie einfach filtern:

$result = array_filter($vars, function($a){return $a == 'Y';}); 

var_dump(array_keys($result)); // ['abc', 'pqr', 'lmn'] 
+0

Eine alternative Möglichkeit, '$ vars' zu definieren wäre:' $ vars = compact ('abc', 'xyz', 'prq', 'lmn') '- es wird das gleiche Ergebnis, aber in einer kompakteren Art und Weise (hurr puns) geben –

+1

Ich schreibe diesen Weg mit Hoffnung OP wird über Array statt ** statt ** Bündel von Variablen denken. –

+1

@Niet der Dartk Absol Sie sind pingelig. – user3791775

Verwandte Themen