我做了一些包含一些内容的数组,它的工作非常完美!现在我将数组返回到我的视图(html),并希望在我的HTML中使用它..但它给了我这个错误信息:
Undefined offset: 2 (View: /path/data.blade.php)
但是我不明白为什么..在我的控制器中它一切都很好..阵列工作得很好而且我回到html也没错(至少我看不到一个)
$ipsWithBytesDates = [];
foreach ($topTenIp as $val)
{
$byte_execResult = shell_exec("grep $val /path/domain.log | awk '{print $10}'");
$add = array_sum(explode("\n", $byte_execResult));
$add = $add / 1024 / 1024;
$add = round($add, 2);
$date_execResult = shell_exec("grep $val /path/domain.log | awk '{print $4,$5}'");
$date_array = explode("\n", $date_execResult);
$date_array_pop = array_pop($date_array);
$mylastelement = end($date_array);
$ipsWithBytesDates[] = [
'ip' => $val,
'bytes' => $add,
'dates' => $mylastelement,
];
}
uasort($ipsWithBytesDates, function($a, $b) {
if ($a['bytes'] == $b['bytes'])
return 0;
elseif ($a['bytes'] < $b['bytes'])
return 1;
else
return -1;
});
uasort($ipsWithBytesDates, function($a, $b) {
if ($a['dates'] == $b['dates'])
return 0;
elseif ($a['dates'] < $b['dates'])
return 1;
else
return -1;
});
我正在返回这样的变量:
return view('/domains/data', [
'ipsWithBytesDates' => $ipsWithBytesDates,
]);
我的html看起来像这样:
@foreach($ipsWithBytesDates as $item)
<tr>
<td>{{ $item['ip'] }}</td>
<td>{{ $item['bytes'] }}</td>
<td> {{ $item['dates'] }}</td>
</tr>
@endforeach
我真的找不到错误......我被卡住了,有人可以查看我的代码,也许会找到我的错误吗?
答案 0 :(得分:0)
return view('/domains/data', [
'ipsWithBytesDates' => $ipsWithBytesDates,
]);
应该是
return view('/domains/data', [
'ipsWithBytesDates' => $ipsWithBytesDates
]);
如果这不起作用,请在返回视图前粘贴dd($ipsWithBytesDates)
,并检查要传递给视图的阵列的结构。
根据该结构,您可以获得数组的正确(key =&gt;值)。