使用带有3个数组的PHP Foreach
我从一个站点获取数据,如下面的代码所示。在一个foreach循环中可以使用3个数组吗 我尝试了太多的代码片段,但还没有找到解决方案 这是我的正常代码:使用带有3个数组的PHP Foreach,php,foreach,Php,Foreach,我从一个站点获取数据,如下面的代码所示。在一个foreach循环中可以使用3个数组吗 我尝试了太多的代码片段,但还没有找到解决方案 这是我的正常代码: <?php $i = 0; $url = file_get_contents("xxx"); $display = '#{"__typename":"GraphImage","id":"(.*?)","edge_media_to_caption":{"edges":\[{"node":{"text":"(.*?)"}}]},"shortc
<?php
$i = 0;
$url = file_get_contents("xxx");
$display = '#{"__typename":"GraphImage","id":"(.*?)","edge_media_to_caption":{"edges":\[{"node":{"text":"(.*?)"}}]},"shortcode":"(.*?)","edge_media_to_comment":{"count":(.*?)},"comments_disabled":(.*?),"taken_at_timestamp":(.*?),"dimensions":{"height":(.*?),"width":(.*?)},"display_url":"(.*?)","edge_liked_by":{"count":(.*?)},"edge_media_preview_like":{"count":(.*?)},"location":(.*?),"gating_info":(.*?),"media_preview":"(.*?)","owner":{"id":"(.*?)","username":"(.*?)"}#i';
preg_match_all($display, $url, $dop);
foreach ($dop[1] as $displayop1) {
echo $displayop1."<p>";
}
foreach ($dop[9] as $displayop2) {
echo $displayop2."<p>";
}
foreach ($dop[15] as $displayop3) {
$i++;
if($i == 2) {break;}
echo $displayop3."<p>";
}
我试过了
<?php
foreach ($dop[1] as $displayop1) {
foreach ($dop[9] as $displayop2) {
foreach ($dop[15] as $displayop3) {
echo $displayop1 . "<p>";
echo $displayop2 . "<p>";
$i++;
if ($i == 2) {
break;
}
echo $displayop3 . "<p>";
}
}
}
?>
<?php
foreach (array_combine($dop[1], $dop[9], $dop[15]) as $dop1 => $dop2 => $dop3) {
echo $dop1.$dop2.$dop3;
}
?>
这些代码不起作用
有人能帮我吗?我搜索了很多解决方案,但找不到任何信息。我不知道如何在互联网上搜索,因为我的英语不是很好,谢谢。我看到的最接近单个循环的选项是2:
for($i=1; $i < 15; $i++) {
//you can do a if statement here if you need 1 9 and 15 respectivley
foreach ($dop[$i] as $displayop) {
}
}
预期的输出是什么?@Nik我想要的是使用一个循环,而不是使用3个循环。如果数组的长度相同,您可以使用$I=0$我<$count$i++{}循环并打印像echo$dop[1][$i]这样的数组项;真的那么容易吗?非常感谢你。。与if.合作得很好。。拍手拍手