Php 深度爬网获取数据:未定义的偏移量1

Php 深度爬网获取数据:未定义的偏移量1,php,arrays,laravel,api,Php,Arrays,Laravel,Api,Deepcrawl.php <?php $array_issues[] = 0; $issues = array("thin_pages_basic","not_in_sitemaps_primary_indexable_basic","duplicate_titles_2_basic","pages_with_duplicate_titles_basic","max_external_links_basic","4xx_errors_basic"); for($i=0;$i<

Deepcrawl.php

<?php 

$array_issues[] = 0;

$issues = array("thin_pages_basic","not_in_sitemaps_primary_indexable_basic","duplicate_titles_2_basic","pages_with_duplicate_titles_basic","max_external_links_basic","4xx_errors_basic");

for($i=0;$i<6;$i++){
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"Your Api key". $issues[$i]);

curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('X-Auth-Token:91PB_EP-LSaTVcm2bCjWyE9oLBEhGYSpvuW-gILR1eCEiK-VPL4YO40L8hTFTnepC8HjaLgn2C3AG6k3iv_-zg'));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output2 = curl_exec ($ch);
curl_close ($ch); 

$results = json_decode($server_output2);

$j=0;
// to get each object from an array of object
foreach((array)$results as $result){ 
  if($j==3)
  $array_issues[$i] = $result;

  $j++;
  }
} 
?>

在视图文件中显示

                 <tr>
                    <td style='color:#e86363'>" . $array_issues[0] . "</td>
                    <td style='width:50px'></td>
                    <td>Thin Pages</td>
                </tr>
                 <tr>
                    <td style='color:#e86363'>" . $array_issues[1] . "</td>
                    <td style='width:50px'></td>
                    <td>Primary Indexable Pages Not in Sitemaps </td>
                </tr>
                 <tr>
                    <td style='color:#e86363'>" . $array_issues[2] . "</td>
                    <td style='width:50px'></td>
                    <td>Duplicate Title Sets</td>
                </tr>
                 <tr>
                    <td style='color:#e86363'>" . $array_issues[3] . "</td>
                    <td style='width:50px'></td>
                    <td>Pages with Duplicate Titles</td>
                </tr>
                 <tr>
                    <td style='color:#e86363'>" . $array_issues[4] . "</td>
                    <td style='width:50px'></td>
                    <td>High External Linking</td>
                </tr>
                 <tr>
                    <td style='color:#e86363'>" . $array_issues[5] . "</td>
                    <td style='width:50px'></td>
                    <td>Broken Pages (4xx Errors)</td>
                </tr>

“$array_问题[0]”
薄页
“$array_问题[1]”
不在站点地图中的主可索引页面
“$array_问题[2]”
重复标题集
“$array_问题[3]”
标题重复的页面
“$array_问题[4]”
高外部链接
“$array_问题[5]”
断页(4xx错误)
我只是想知道,当我在视图文件中声明时,总是会出现以下错误
未定义的偏移量:1


但是,当我将数组从[1-5]更改为[0]时,它工作正常,但根本没有获得任何数据?如果你知道是什么原因导致了这一点,下面的帖子会很有帮助。谢谢!:)

首先,将您的
$array\u问题
声明更改为

$array_issues=array();

$array_issues=[];
那么,我不知道你在这方面想做什么:

$results=json\u decode($server\u output2);
$j=0;
//从对象数组中获取每个对象
foreach((数组)$results作为$result){
如果($j==3)
$array_issues[$i]=$result;
$j++;
}
但是,我不认为这是正确初始化您的
$array\u问题[0]
索引,它甚至可能没有输入这个。。。我至少会在if和foreach之外初始化索引,类似于:

$j=0;
//从对象数组中获取每个对象
$array_问题[$i]=“”;//确保这至少已定义。
foreach((数组)$results作为$result){
如果($j==3)
$array_issues[$i]=$result;
$j++;
}
另外,我认为您可以使用$key=>$value语法而不是$j计数器来完成所要做的事情

$array_issues[$i] = ""; // MAKING SURE THIS IS AT LEAST DEFINED.
foreach((array)$results as $key => $result){ 
    if($key==3)
    $array_issues[$i] = $result;
}

如果你
var\u dump($array\u问题),你会得到什么?您似乎想用抽象替换身份验证令牌,但实际上您已经替换了URL并保留了令牌。您可能希望立即更改/撤销该令牌。打印您的数组,并检查是否存在实际偏移量的数组accessing@AlexHowansky我只需要隐藏我的api密钥。这就是为什么我把我的授权令牌留在那里。但是谢谢你提醒我。你可能有重复的例子吗?$key=>$value语法。。。假设数组键是数字的,我已经把它添加到了答案中。但当我var_dump($array_问题);所有的都是零你把它扔到哪里去了?跑了这么久?在视图中?在控制器上。