2010-11-24 1 views
0

Wie durchläuft ein multidimensionales Array in foreach-Schleife, um die Tabelle von 4 Spalten zu erhalten?Wie durchläuft man ein mehrdimensionales Array in foreach-Schleife, um die Tabelle mit 4 Spalten zu erhalten?

Ich habe ein Array von diesem Format:

Array 
(
    [2] => Array 
     (
      [0] => Array 
       (
        [0] => 1938 
        [prod_id] => 1938 
        [1] => Nokia N96 16GB Sim Free Unlocked Mobile Phone 
        [prod_name] => Nokia N96 16GB Sim Free Unlocked Mobile Phone 
        [2] => 1938_1280387838.jpeg 
        [prod_image] => 1938_1280387838.jpeg 
        [3] => 
        [prod_model] => 
        [4] => 0.00 
        [prod_purchase_price] => 0.00 
        [5] => 286.95 
        [prod_retail_price] => 286.95 
        [6] => 295.51 
        [prod_sp_offer_price] => 295.51 
        [7] => 0 
        [prod_stock_qty] => 0 
        [8] => 0 
        [network_id] => 0 
        [9] => 
        [prod_preorder_text] => 
        [10] => 2 
        [cat_type_id] => 2 
        [11] => Sim Free Mobiles 
        [cat_type_name] => Sim Free Mobiles 
        [discount] => 0 
       ) 
     } 
} 

Jetzt brauche ich eine Tabelle, die die letzte Kind Array-Daten in 4 Spalten von Daten teilen muß. foreach benutzen. In PHP

Antwort

2

nicht sicher, ob ich dieses Recht habe, müssen Sie letzten 4 Werte von jeweils angezeigt werden Array-Element? Wenn ja, so etwas wie dies getan werden könnte:

Basierend auf zusätzliche Informationen zur Verfügung gestellt, können Sie so etwas wie diese verwenden müssen:

echo '<table><tr>'; 
foreach ($array as $i => $data) 
{ 
    echo '<td>HereBe $data</td>'; 
    if (3 === $i % 4) 
    { 
     echo '</tr><tr>'; 
    } 
} 
echo '</tr></table>'; 

Bitte beachten Sie, dass obigen Code ist nur ein Beispiel und ist nicht Es ist nur als eine Idee gedacht, die Ihnen beim Start hilft. Ja, das Ergebnis ist korrekt, aber die HTML-Ausgabe wird in einigen Fällen nicht validiert. Kannst du raten welche? :)

+0

Ich brauche nicht die letzten 4 Werte, ich möchte 4 Spalten in der Tabelle mit allen verteilten Daten angezeigt –

+0

Haben alle 13 Werte in 4 Spalten unterteilt? –

+0

Ich brauche jedes Array in einzelnen angezeigt werden –

0

Ihr Array scheint das Ergebnis einer Datenbankabfrage zu sein. Wenn Sie die Kontrolle über diese Abfrage haben, wird es einfacher sein, die gewünschten Daten zu erhalten, wenn Sie diese Abfrage modifizieren/ändern, anstatt das zu tun, was im Wesentlichen eine SQL-Abfrage in PHP ist. Bitte posten Sie die Anfrage, und ich könnte helfen, detaillierter.

+0

Ich habe diese Abfrage in meiner Klassendatei Ich muss dieses Array in meiner Vorlagendatei verwenden, um 4 Spalte Tabellenstruktur anzuzeigen –

+0

können Sie die Klassendatei mit der Abfrage ändern? Wird es woanders benutzt? Ändern der Abfrage wird die Dinge erleichtern. Bitte posten Sie den Abfrageteil der Klassendatei und wie dieser in der Vorlage verwendet wird. –

+0

Ich habe keinen Zugriff auf diese Klassendatei, egal was ich habe, ist dieses Array das ist es .. –

1

sy für zB Ihre Hauptarray wie $ arrMainArr

benannt
echo '<table border="1">'; 
foreach($arrMainArr[2] as $arrMains){ 

    echo '<tr>'; 
    foreach($arrMains as $key => $value){ 
      if(!preg_match("/\d/",$key)) 
      echo '<td>'.$key.'</td>'; 
    } 
    echo '</tr>'; 

} 
echo '</table>'; 

oder andere Art und Weise ist

$arrMains = array_keys($arrMainArr[2][0]); 

echo '<table border="1"><tr>'; 
foreach($arrMains as $key => $value){ 

    if(!preg_match("/\d/",$key)) 
     echo '<td>'.$key.'</td>'; 
} 
echo '</tr></table>'; 
+0

Behtareeen Antwort Dhanyawaad ​​ –

Verwandte Themen