【问题标题】:Deepcrawl getting data : Undefined Offset 1Deepcrawl获取数据:未定义的偏移量1
【发布时间】:2019-02-17 09:23:48
【问题描述】:

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>

只是想知道当我在我的视图文件上声明时,我总是收到此错误Undefined offset: 1

但是当我将数组从 [1-5] 更改为 [0] 时,它可以正常工作,但它根本没有得到任何数据?如果您看到是什么原因造成的,那么在下面发帖会很有帮助。谢谢! :)

【问题讨论】:

  • 如果你var_dump($array_issues);,你会得到什么?
  • 您似乎打算用抽象替换您的身份验证令牌,但实际上您已经替换了您的 URL 并保留了您的令牌。您可能想立即更改/撤销该令牌。
  • 打印您的数组并检查您正在访问的实际偏移量的数组
  • @AlexHowansky 我只需要隐藏我的 api 密钥。这就是为什么我将身份验证令牌留在外面的原因。不过谢谢你提醒我。

标签: php arrays laravel api


【解决方案1】:

首先,将您的 $array_issues 声明更改为任一

$array_issues = array(); 

$array_issues = [];

那么,我不知道你想在这几行中完成什么:

$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++;
}

但是,我认为这没有正确初始化您的 $array_issues[0] 索引,它甚至可能没有输入这个...我至少会在 if 和 foreach 之外初始化索引,例如:

$j=0;
// to get each object from an array of object
$array_issues[$i] = ""; // MAKING SURE THIS IS AT LEAST DEFINED.
foreach((array)$results as $result){ 
    if($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;
}

【讨论】:

  • 你有什么例子吗?
  • $key => $value 语法? ...假设数组键是数字,我将它添加到答案中
  • 已经试过了。但是当我 var_dump($array_issues);全部为零
  • 你把它丢到哪里去了?毕竟这一切运行?在视图中?
  • 在控制器上。
猜你喜欢
  • 2022-01-02
  • 2011-07-22
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 2021-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多