2016-07-04 18 views
-3

Ich habe ein Array, das von Ajax als Post kommt jetzt habe ich jedes Element in einer separaten VariableHolen Sie sich die Array-Elemente

Array 
(
['family'] => Viga 
['category'] => sans-serif 
['variants'] => Array 
    (
     [0] => regular 
    ) 

['subsets'] => Array 
    (
     [0] => latin 
    ) 
) 

Jetzt sparen will ich es wie als

$family = viga 
$category = sans-serif 
+0

Und was Sie bisher versucht haben? Veröffentlichen Sie Ihre Versuche auch. –

+0

Was ist also mit Varianten und Teilmengen? $ variants0, $ variants1, ..., $ subsets0, $ subsets1, ...? – Thamilan

+0

foreach ($ font wie $ fontDetails) { \t \t \t \t echo fontdetails- $> Kategorie; \t \t \t \t} @Uchiha –

Antwort

1

sein wollen Sie können Extract verwenden. Aber da Sie einige mehrdimensionale Daten, die Sie implodieren wollen , verwenden, können Sie wie folgt verwenden:

DEMO

foreach ($data as $key => $value) { 
    if(is_array($value)) { 
     ${$key} = implode(",",$value); //Join array values using , 
    } else { 
     ${$key} = $value; 
    } 
} 

echo $family; 
echo $category; 
echo $variants; 
echo $subsets; 

Ergebnis:

Viga 
sans-serif 
regular 
latin 

Verwendung Extract wäre es so einfach wie:

extract($data); 

DEMO

+0

Die Antwort ist gut, nur Denken Sie daran, dass, wenn Sie "foreach solution" verwenden und versuchen, durch Implodieren von Werten, die Arrays sind (wie 'a' => array (1, 'b' => array (1,2))), Ihr Code wird abstürzen. –

+0

Aber OP ist mit 1 Tiefenarray interessiert. Im Falle von Multi-Tiefe, er muss die Regeln angeben und dann möglicherweise einige rekursive Aufrufe (falls erforderlich) – Thamilan

+0

Not workmax @ Thamilan –

Verwandte Themen