PHP - يخطو من خلال مجموعة متعددة الأبعاد بواسطة مفتاح
-
22-07-2019 - |
سؤال
ولدي نتيجة 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] [الجدول] [0] [ID] الخ.
المحلول
ومثل هذا؟
<?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
}
نصائح أخرى
ومثل:
for ($row = 0; $row < 2; $row++){
echo "<tr>";
for ($col = 0; $col < 4; $col++)
{
echo "<td>".$myarray[$row][$col]."</td>";
}
echo "</tr>";
و}
وبالطبع إذا كان مقدار الصفوف أو العواميد التغييرات التي تحتاج إلى الحصول على طول المصفوفات.
لا تنتمي إلى StackOverflow