2017-10-17 1 views
0

Ich bin gerade in einer verwirrenden Situation.PHP Holen Sie sich eine bestimmte Eigenschaft aus einem Array von Objekten mit unterschiedlichen Array-Anzahl

Also, ich habe ein Array von Objekten

array:3 [▼ 
    0 => array:5 [▶] 
    1 => array:2 [▶] 
    2 => array:10 [▶] 
] 

Jedes Array Elemente enthält ein anderes Array, das

array:3 [▼ 
    0 => array:5 [▼ 
    0 => {#215 ▼ 
     +"DefaultTimeLength": 40 
     +"ProgramID": 4 
     +"NumDeducted": 1 
     +"ID": 245 
     +"Name": "30-Swedish-Massage" 
    } 
    1 => {#216 ▼ 
     +"DefaultTimeLength": 70 
     +"ProgramID": 4 
     +"NumDeducted": 1 
     +"ID": 246 
     +"Name": "60-Swedish-Massage" 
    } 
    2 => {#217 ▶} 
    3 => {#218 ▶} 
    4 => {#219 ▶} 
    ] 
    1 => array:2 [▶] 
    2 => array:10 [▶] 
] 

Objekte haben, was ich erreichen will ist, möchte ich die ‚ID bekommen 'und' Name 'als ein Array für jedes Array von Objekten aus diesem Array. Da jedes Array innerhalb des Hauptarrays unterschiedliche Zählwerte hat, kann ich keine FOR-Schleife verwenden, um die erforderlichen Daten zu erhalten. Irgendwelche Ideen?

+0

sein _ "Ich habe die‚ID erhalten möchten 'und' Name 'für jedes Array von Objekten aus diesem Array "_ - wie geht's? Was ist die erwartete Ausgabe? – Madbreaks

+0

Holen Sie sie als ein Array. Array $ ID wird alle IDs haben, und $ Name Array wird alle Namen haben – Cowgirl

+0

Da jede Gruppe von Objekten, die Sie in jedem Array haben, alle unterschiedliche IDs/Namen haben, bin ich mir nicht ganz sicher, wie Sie das Ergebnis erwarten Ausgabe zu sein? Zeigen Sie sie alle nur an, oder müssen Sie "1" ID/Name für das gesamte Array isolieren, da Ihre Frage lautet: "Ich möchte die ID und den Namen für jedes Array von Objekten erhalten" – IncredibleHat

Antwort

3

Verwendung verschachtelte foreach-Schleife zB:

foreach($main as $m){ 
    foreach($m as $item){ 
    echo $item->ID ." ".$item->Name; 
    } 
} 
+0

Anstelle eines Echos, wie schlägt man vor: '$ ids [] = $ item-> ID; $ names [] = $ item-> Name; '? (mit richtiger Initialisierung natürlich, und all das haha). – IncredibleHat

+1

@Randall richtig mate, aber ich sage ihm nur Beispiel, wie man durch das Array durchlaufen –

+0

Problem gelöst. Ich liebe euch. Ich habe VOLLSTÄNDIG den Engel vergessen - foreach – Cowgirl

0

Gebrauch 2 foreach Schleife in eachother

foreach ($array as $item) { 
     foreach ($item as $sub) { 
      echo $sub['ID'] . " " . $sub['Name'] . "<br>"; 
     } 
    } 

Ihren vollständigen Code this

so etwas wie
Verwandte Themen