未定义的偏移量:第10行的C:\ xampp \ htdocs \ Dec \ function.php中的70

时间:2017-11-08 16:09:42

标签: php json regex

结果不是完全从NewsApi获取的。我是PHP的新手。 请帮我从NewsApi获取所有列表。 这是我的代码`

<?php
$urlsources=file_get_contents("https://newsapi.org/v1/sources");
$urlsourcearray = json_decode($urlsources,true);
$sources=$urlsourcearray['sources'];

for($i=0;$i<=count($sources);$i++){
  $sites = $urlsourcearray['sources'][$i];
  echo $sites['url'];
}

?>

2 个答案:

答案 0 :(得分:2)

使用<代替<=尝试这样做,因为您是从索引0开始的,也不要在length循环内使用数组for计数。 在循环中使用数组长度计数是一种不好的做法。

$urlsources=file_get_contents("https://newsapi.org/v1/sources");
$urlsourcearray = json_decode($urlsources,true);
$sources=$urlsourcearray['sources'];
$count = count($sources); //check out this line
for($i=0;$i<$count; $i++){
  $sites = $urlsourcearray['sources'][$i];
  echo $sites['url'];
}

答案 1 :(得分:0)

你的for循环是<,它应该是for($i=0;$i < count($sources);$i++){ $sites = $urlsourcearray['sources'][$i]; echo $sites['url']; }

{{1}}

数组是零索引的。因此,如果您有一个数组有4个项目,索引将是0,1,2和3。