我正在尝试使用curl来解析并在DPLA API的表中显示结果。我以为可以使用foreach循环来执行此操作,但是在获取嵌套数据时遇到了问题。我想念什么?
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.dp.la/v2/items?q=weasels&api_key=mypersonalkey");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$json_response = curl_exec($ch);
$myArray = json_decode($json_response, true);
curl_close($ch);
?>
<h2>Part 1</h2>
<table>
<tr>
<th>title</th>
<th>creator</th>
</tr>
<?php
foreach ($myArray as $post){
echo "<tr>";
echo "<td>{$post[title]}</td>";
echo "<td>$post[creator]</td>";
echo "</tr>";
echo "<pre>";
}
?>
现在,我对php还是相当陌生,上了一堂课来学习更多。我已经在网上学习了几个月,但是我可以使用一些其他帮助。我已经审查了php doc网站和api.dp.la网站,但仍然感到有些迷茫。
我希望看到许多结果中的1个结果。返回1个标题和创建者。
答案 0 :(得分:0)
我认为您想使用complex curly syntax。
如果要获取众多值之一,也许可以使用if
从发布中检查值之一。如果if语句可以匹配多个值,而您只希望找到第一个,则可以使用break
退出循环。
您可以将其更新为例如:
foreach ($myArray as $post){
if ($post["title"] === "my title") {
echo "<tr>";
echo "<td>{$post["title"]}</td>";
echo "<td>{$post["creator"]}</td>";
echo "</tr>";
echo "<pre>";
}
}
请注意将键名title
和creator
放在引号之间。
答案 1 :(得分:0)
code here