提问人:Sebastiano G. 提问时间:8/23/2023 更新时间:8/23/2023 访问量:35
PHP 数组用于每个串联对象
PHP array use foreach concatenated objects
问:
我有这个数组:
$data
stdClass Object(
[data] =>
Array(
[0] =>
stdClass Object(
[home_team] => Yantra Gabrovo
[away_team] => Septemvri Sofia
.....
[odds] =>
stdClass Object(
[1] => 3.17
[X] => 3.24
[2] => 2.2
[1X] => 1.6
[X2] => 1.31
[12] => 1.29
)
)
我想在一个简单的 html 表格中插入数据,所以我创建了这个:
$arr = json_decode($response, true);
echo '<table border=1>
<tr>
<th>ID</th>
<th>SQUADRA CASA</th>
<th>......</th>
<th>QUOTA 1</th>
<th>QUOTA X</th>
<th>QUOTA 2</th>
<th>QUOTA 1X</th>
<th>QUOTA X2</th>
<th>QUOTA 12</th>
</tr>';
foreach ($arr["data"] as list ("id" => $id, "home_team" => $home_team, "away_team" => $away_team, "start_date" => $start_date, "last_update_at" => $last_update_at, "1" => $quota1, "x" => $quotax, "2" => $quota2, "1x" => $quota1x, "x2" => $quotax2, "12" => $quota12 ))
{
echo "<tr>
<td>{$id}</td>
....
<td>{$quota1}</td>
<td>{$quotax}</td>
<td>{$quota2}</td>
<td>{$quota1x}</td>
<td>{$quotax2}</td>
<td>{$quota12}</td>
</tr>";
}
echo '</table>';
问题是数组 0 包含另一个名为 ODDS 的列表,如果我尝试调用数据,则不会显示嵌套并且不显示结果 1、2、x 等。希望你能帮助我。
答:
0赞
Asif Imran Bhuiyan
8/23/2023
#1
<?php
// Decode the JSON response
$arr = json_decode($response, true);
// Create an HTML table
echo '<table border="1">';
echo '<tr>';
echo '<th>ID</th>';
echo '<th>Home Team</th>';
echo '<th>Away Team</th>';
echo '<th>...</th>';
echo '<th>Quota 1</th>';
echo '<th>Quota X</th>';
echo '<th>Quota 2</th>';
echo '<th>Quota 1X</th>';
echo '<th>Quota X2</th>';
echo '<th>Quota 12</th>';
echo '</tr>';
// Iterate over the matches
foreach ($arr['data'] as $match) {
// Get the quota values
$quota1 = $match['odds']['1'];
$quotax = $match['odds']['X'];
$quota2 = $match['odds']['2'];
$quota1x = $match['odds']['1x'];
$quotax2 = $match['odds']['x2'];
$quota12 = $match['odds']['12'];
// Add a new row to the table
echo '<tr>';
echo '<td>' . $match['id'] . '</td>';
echo '<td>' . $match['home_team'] . '</td>';
echo '<td>' . $match['away_team'] . '</td>';
echo '<td>...</td>';
echo '<td>' . $quota1 . '</td>';
echo '<td>' . $quotax . '</td>';
echo '<td>' . $quota2 . '</td>';
echo '<td>' . $quota1x . '</td>';
echo '<td>' . $quotax2 . '</td>';
echo '<td>' . $quota12 . '</td>';
echo '</tr>';
}
echo '</table>';
?>
0赞
Alexandar Popov
8/23/2023
#2
你需要做这样的事情:
<?php
$arr = json_decode($response, true);
echo '<table border=1>
<tr>
<th>ID</th>
<th>SQUADRA CASA</th>
<th>......</th>
<th>QUOTA 1</th>
<th>QUOTA X</th>
<th>QUOTA 2</th>
<th>QUOTA 1X</th>
<th>QUOTA X2</th>
<th>QUOTA 12</th>
</tr>';
foreach ($arr["data"] as $row)
{
echo "<tr>
<td>{$row['id']}</td>
<td>{$row['home_team']}</td>
<td>....</td>
<td>{$row['odds'][1]}</td>
<td>{$row['odds']['X']}</td>
<td>{$row['odds'][2]}</td>
<td>{$row['odds']['1X']}</td>
<td>{$row['odds']['X2']}</td>
<td>{$row['odds'][12]}</td>
</tr>";
}
echo '</table>';
评论