2017-06-16 5 views
1

ich die Daten in mehreren Arrays in php bin setzen und versuchen, es durch Schlüsselwertpaar Logik zugreifen, aber nicht den Erfolg bekommtÄrger mutiple Array-Daten in PHP Zugriff auf

Hier ist die Ausgabe, wenn ich das Array bin Druck mit print_r :

Array ( 
    [0] => Array ( 
     [33] => Coca Cola Products 
    ) 
    [1] => Array ( 
     [1] => Agricultural products, Food and Beverages 
    ) 
) 

Der Code I'musing:

foreach ($data as $key=>$option) 
{ 
    echo $key; 
} 

Ausgang erforderlich:

33 coca cola products 
1 Agricultural products, Food and Beverages 

In meinem for -loop für Daten bevölkern Ich tue dies:

$data[] = array($loop['category_id'] => $loop['category_name']); 

Jetzt Kategorie-ID und Name der Kategorie

freundlich helfen Sie mir in diesem Zusammenhang

+0

getan werden, was versuchen Sie zu bekommen? – Exprator

+0

@Exprator aktualisiert die Frage bitte überprüfen –

+0

Ich vermute, dass Kategorie_IDs sind einzigartig? Warum bauen Sie Ihr Array nicht wie folgt auf: '$ data [$ loop ['category_id']) = $ loop ['category_name'];' und tun Sie das einfach in Ihrem foreach: 'echo $ key. ''. $ option; ' –

Antwort

2

Wann bekommen wollte Sie füllen das Array ...

data[] = array($loop['category_id'] => $loop['category_name']); 

Ihre creati ng jedes Element als ein Array, weshalb Sie mit dem Endergebnis enden, das Sie haben.

Wenn Sie verwendet

$data[$loop['category_id']] = $loop['category_name']; 

Sie würden sehen, dass das Array auf 1 Ebene der Tiefe erzeugt wird. Verwenden Sie print_r und Sie werden den Unterschied sehen. Dies bedeutet, dass wenn Sie mit foreach über iterieren, es die Schlüssel verwenden wird, mit denen Sie die Daten hinzugefügt haben, und geben Sie die Werte danach an.

+0

Wenn Sie meinen Kommentar kopieren/einfügen, stellen Sie sicher, dass Sie den Fehler beheben. :-) Es sollte '$ data [$ loop ['category_id']]' sein und nicht $ data [$ loop ['category_id']) '(die letzte Klammer). –

+0

Das Problem, das ich mit Kommentaren habe, ist, dass sie nicht immer erklären, was das Problem ist, und entschuldigen Sie die Kopie - es ist Koffein noch nicht getreten und Tippen ist harte Arbeit: -/ –

+0

Ich wollte Sie nicht implizieren hat etwas falsch gemacht. Ich dachte nur, es war ein bisschen komisch. :-) –

1

Ihre $ Daten ist ein Array Array, sollten Sie es tun, live demo.

foreach ($data as $v) 
{ 
    echo key($v) . ' ' . current($v) . "\n"; 
} 
0

Dies kann unter

$data = array(array('33'=>"Coca Cola Products"),array("1"=>"Agricultural products, Food and Beverages")); 

foreach ($data as $key=>$option) 
{ 
     foreach($option as $k=>$v){ 
       echo "\n". $k ." ". $v; 
     } 
}