这可能是重复的,但我找不到解决我的问题的方法。 我正在从数据库中检索一些记录并试图在 View 中显示它们。但总是得到 Undefined index: 0 异常。 这是 Controller 代码:
public function gettopfirms(){
$top = Top::all();
foreach ($top as $tFirm) {
$topFirms[] = Firm::whereId($tFirm['id'])->get()->toArray();
}
return view('top', compact('topFirms'));
}
这是 View (top.blade.php) 代码:
<?php
foreach ($topFirms as $firm) {
echo "<pre>";
print_r($firm[0]); //or $firm[0]['name']
echo "</pre>";
}
?>
这是错误:
Undefined offset: 0 (View: xxxxx/resources/views/top.blade.php)
这是我在 View 中简单地打印数组的时候
Array
(
[0] => Array
(
[id] => 7092
[rank] => 147
[name] => Grupo Grana y Montero (GyM),
)
)
Array
(
[0] => Array
(
[id] => 2 //And So On
不知道我在做什么,挣扎和谷歌搜索,没有找到解决方案。
最佳答案
问题是您可能没有检查数组是否已设置。所以解决方案应该是这样的,即:
<?php
foreach ($topFirms as $firm) {
if (!isset($firm[0])) {
continue;
}
echo "<pre>";
print_r($firm[0]); //or $firm[0]['name']
echo "</pre>";
}
?>
您可能还想在此之前将其过滤掉:
public function gettopfirms(){
$top = Top::all();
foreach ($top as $tFirm) {
$topFirms[] = Firm::whereId($tFirm['id'])->get()->toArray();
}
$topFirms = array_filter($topFirms);
return view('top', compact('topFirms'));
}
关于php - 未定义索引 0 php laravel(可能重复),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39889084/