2016-04-03 16 views
0

Ich versuche, die mehrdimensionales Array Werte aus einem Array mit einer foreach-Schleife zu erhalten. Aber es sagt nur undefiniert IndexnamenErweiterung mehrdimensionale Arrays mit einer foreach-Schleife

while($row = mysqli_fetch_assoc($qry)) { 
    $main[]['id'] = $row['categories_id']; 
    $main[]['name'] = $row['categories_name']; 
} 
foreach($main as $m) { 
    $main_filters .= '<li>'.$m['name'].'</li>'; 
} 

so sicher, was ich hier falsch mache, irgendwelche Ideen, das heißt, wie bekomme ich die mehrdimensionale Werte aller Elemente in dem Array Array $ Haupt, id und Name?

+2

wie unten beantwortet aber auch Sie brauchen nicht 2 Schleifen, tun Sie alles in einem –

+1

Nur einen freundlichen Tipp, möchten Sie vielleicht über diese Seite lesen: [How-To-Ask Leitfaden] (https://StackOverflow.com/help/how-to-fragen), so können Sie immer sicher sein, dass Ihre Fragen leicht beantwortbar sind und so klar wie möglich. Stellen Sie sicher, dass Sie alle Anstrengungen unternommen haben, die Sie unternommen haben, um das Problem zu beheben, das Sie haben, und was passiert ist, als Sie diese Korrekturen versuchten. Vergessen Sie auch nicht Ihren Code und eventuelle Fehlermeldungen! –

+0

Ja, das ist viel einfacher mit einer Schleife. – Source

Antwort

1

ersetzen

$main[]['id'] = $row['categories_id']; 
$main[]['name'] = $row['categories_name']; 

mit

$main[] = [ 
    'id' => $row['categories_id'], 
    'name' => $row['categories_name'] 
]; 

sonst Sie zwei neue Element in jeder Iteration, und Sie wollen das nicht.

Verwandte Themen