PHP - переход по многомерному массиву по ключу - PullRequest
0 голосов
/ 29 октября 2009

У меня есть результирующий набор SOAP, который расширение nuSoap превратило в хороший массив для меня. Я уверен, что мог бы вычеркнуть какой-то длинный путь зацикливания на то, что я хочу - но, похоже, должен быть более быстрый способ просто перебрать конкретные элементы данных. Вот массив:

Array
(
    [xxxResult] => Array
    (
        [NewDataSet] => Array
        (
            [Table] => Array
            (
                [0] => Array
                (
                    [ID] => 472
                    [Name] => abc
                    [Weight] => 0.15
                    [AppID] => 5133356895445
                )

                [1] => Array
                (
                    [ID] => 7396
                    [Name] => def
                    [Weight] => 0.11
                    [AppID] => 51348575554
                )

            )

        )

    )

)

Итак, что я хочу сделать, это просто пройтись по циклу так, чтобы я получил:

<tr>
    <td>[ID]</td>
    <td>[Name]</td>
    <td>[Weight]</td>
    <td>[AppID]</td>
</tr>

... для каждой строки таблицы.

Кажется, что должен быть более быстрый путь, чем [xxxResult] [NewDataSet] [Table] [0] [ID] и т. Д.

Ответы [ 2 ]

4 голосов
/ 29 октября 2009

Как это?

<?php

$tables = $soapResult['xxxResult']['NewDataSet']['Table'];

foreach ($tables as $table) {

?>
    <tr>
        <td><?php echo $table['ID']; ?></td>
        <td><?php echo $table['Name']; ?></td>
        <td><?php echo $table['Weight']; ?></td>
        <td><?php echo $table['AppID']; ?></td>
    </tr>
<?php

}
0 голосов
/ 29 октября 2009

Как:

 for ($row = 0; $row < 2; $row++){
echo "<tr>";

for ($col = 0; $col < 4; $col++)
{
    echo "<td>".$myarray[$row][$col]."</td>";
}

echo "</tr>";

}

Конечно, если количество строк или столбцов изменяется, вам нужно получить длину массивов.

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