使用PHP Json对传入数据进行分段

使用PHP Json对传入数据进行分段,php,arrays,json,foreach,Php,Arrays,Json,Foreach,传入json数据的形式: { “状态代码”:200, “消息”:“成功”, “结果”:[ { “经度”:-87.06687, “起始位置纬度”:20.63589, “起始位置经度”:-87.06687, “终点位置纬度”:20.63589, “终点位置经度”:-87.06687, “亮点”:[ { “标题”:“哦,是的……梅兹卡尔的镜头”, “url”:”https://phoenix-cdn.azureedge.net/phoenix-blob-public-exps/1396_Mezcal_

传入json数据的形式:

{
“状态代码”:200,
“消息”:“成功”,
“结果”:[
{
“经度”:-87.06687,
“起始位置纬度”:20.63589,
“起始位置经度”:-87.06687,
“终点位置纬度”:20.63589,
“终点位置经度”:-87.06687,
“亮点”:[
{
“标题”:“哦,是的……梅兹卡尔的镜头”,
“url”:”https://phoenix-cdn.azureedge.net/phoenix-blob-public-exps/1396_Mezcal_Shot.jpg"
},
{
“标题”:“卡门海滩海滩”,
“url”:”https://phoenix-cdn.azureedge.net/phoenix-blob-public-exps/1396_Playa_Del_Carmen-Beach_Punta_Esmeralda.jpg"
},
{
“标题”:“参观市场”,
“url”:”https://phoenix-cdn.azureedge.net/phoenix-blob-public-exps/1396_Playa_Del_Carmen.jpg"
}
]
}
]
}
此传入数据合并到一行中

但我想做的是得到这些数据中的前4个,例如,将它们放入单独的变量中并使用它们。然而,我从来没能做到这一点

我的代码:

foreach($unlockdataas$highlights)
{
foreach($高亮显示为$SingleImage)
{
如果(strlen($SingleImage['url'])>3){
echo$SingleImage['url'];
}
}
}

这将返回
结果中每个条目的前4个突出显示。我之所以使用json对象vs数组,是因为我发现将其用作对象会使代码更易于阅读

<?php
$json = json_decode($incomingJSON);
foreach ($json->result as $result) {
  $ctr = 0 ;
  foreach($result->highlights as $highlight) {
    if (strlen($highlight->url) < 5) continue;

    echo "<P>" . $highlight->title. " - " . $highlight->url;

    $ctr ++;
    if ($ctr>3) break;
  }
}

如果只有一个
结果
,那么只需从
突出显示的
中获取所有
url
(不清楚为什么
字符串
):

如果有多个
结果
,则获取所有
突出显示
,然后从中获取所有
url

$urls = array_column(array_column($array['result'], 'highlights'), 'url']);

你只想把线分开吗?只需更改
echo$SingleImage['url']
echo$SingleImage['url'];。“
或添加div,或任何您想使它们分开的行。如果您希望将它们作为单独的变量,则通过将
echo
替换为
$var[$index]=$SingleImage['url'],将它们输入单独的变量中谢谢。如果仔细看,传入的数据就是url。我想把它们分开,我可以用“col-3”类分开打印。但我想把前4个昨天放到不同的变量中,它总是前4个还是任意数量的?如果它是一个任意数字,那么只需更改
echo$SingleImage['url']
回显“”。$SingleImage['url'].'或任何您想要的内容。这是一种基本的php内容,不是真正的技术或新东西。如果您要将它们输入到一个变量中供以后使用,那么建议执行
$var[$index]=$SingleImage['url']
仍然有效。如果要在4条记录后停止,请添加一个计数器
$c
增加它
$c++
中断当您有4条记录时。
$urls = array_column(array_column($array['result'], 'highlights'), 'url']);