Как пройти многомерный массив в цикле foreach, чтобы получить таблицу из 4 столбцов? - PullRequest
0 голосов
/ 24 ноября 2010

Как пройти многомерный массив в цикле foreach, чтобы получить таблицу из 4 столбцов?

У меня есть массив этого формата:

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
                )
       }
}

Теперь мне нужна таблица, которая должна делить данные последнего дочернего массива на 4 столбца данных. используя foreach. В PHP

Ответы [ 3 ]

2 голосов
/ 24 ноября 2010

Не уверен, что я правильно понял, вам нужно отобразить последние 4 значения каждого элемента массива? Если это так, то можно сделать что-то подобное:

На основании предоставленной дополнительной информации вам необходимо использовать что-то вроде этого:

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

Обратите внимание , приведенный выше код является лишь примером и не оптимизирован вообще, он предназначен только для того, чтобы помочь вам начать. Да, результат будет правильным, но вывод HTML не будет проверяться в некоторых случаях. Можете ли вы угадать, какие из них? :)

1 голос
/ 24 ноября 2010

sy, например, ваш основной массив назван как $ arrMainArr

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>';

ИЛИ Другой способ -

$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 голосов
/ 24 ноября 2010

ваш массив выглядит как результат запроса к базе данных. если у вас есть контроль над этим запросом, вам будет проще получить нужные данные, если вы измените / измените этот запрос, вместо того, чтобы выполнять то, что по сути является запросом sql в php. пожалуйста, отправьте запрос, и я мог бы помочь более подробно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...