2017-02-16 3 views
0

Ich habe folgendes:PHP: Get Einzelwert von komplexen Array

Array ([0] => Array ([0] => Array ([value] => 150109 [format] => [safe_value] => 150109))) 

Ich brauche den Wert „150109“ zu bekommen, aber wie auf der Erde erreichen ich das?

+0

'$ data [0] [0] [" value "]' oder '$ data [0] [0] [" safe_value "]' Wenn die '$ data' Ihr Array –

+0

ist, haben Sie versucht, nach einem googling zu suchen Antworten? Sie sollten [andere Antworten] (http://stackoverflow.com/questions/17139453/php-accessing-multidimensional-array-values) beim Zugriff auf mehrdimensionale Array-Werte finden können. – mickadoo

Antwort

2

Top Level:

print_r($data); 
// Output: Array ([0] => Array ([0] => Array ([value] => 150109 [format] => [safe_value] => 150109))) 

outmost Element:

print_r($data[0]); 
// Output: Array ([0] => Array ([value] => 150109 [format] => [safe_value] => 150109)) 

Nächste Stufe:

print_r($data[0][0]); 
// Output: Array ([value] => 150109 [format] => [safe_value] => 150109) 

Der Endwert

echo $data[0][0]['value']; 
// Output: 150109 

jede Schicht von Werten Zugriff auf diese Art und Weise es einfacher, um herauszufinden, macht, wie auf den gewünschten Wert zu erhalten. Nach einer Weile wird dies deutlicher.

+0

Nur die erste (oberste Ebene) wird tatsächlich etwas ausgeben. Also print_r ($ data); gibt mir: Array ([und] => Array ([0] => Array ([Wert] => 150109 [Format] => [Safe_Wert] => 150109))). Diese Konstruktion sieht etwas anders aus als meine ursprüngliche Anordnung. – oivindr

+0

@oivindr Dann haben Sie andere Daten als in Ihrem Beispiel. Um jedoch den Wert in diesem Array zu erhalten, würden Sie '$ data ['und'] [0] ['value']' 'machen. – OptimusCrime

+0

Danke! Ich muss meinen Code aufräumen, aber es sieht so aus, als würde es funktionieren. BTW, ich habe das erste Array-Konstrukt, wenn ich verwendet habe: print_r (array_values ​​($ artnr)); Nicht sicher, warum sie sich unterscheiden. – oivindr

0

Sie können Werte von Arrays erhalten continusly auf mehrdimensionale Arrays:
$value = $array[0][0]["value"];