php - 为什么 laravel 中 get() 函数的返回值在检查 is_array 时不是数组

标签 php arrays laravel

我对 Laravel 非常陌生,今天我运行了一些代码并陷入了这段代码。

    $topic = topic::where('id', $id)->get();
    if(is_array($topic)){
        echo 'yes';
    }
    else{
        echo 'no';
    }

结果是“否”,但我可以“foreach”循环遍历每个主题。

正如我所理解的,“Foreach”仅接受数组参数,但如果它是一个真正的数组,为什么 is_array 返回“no”?

最佳答案

因为它不是一个数组。这是collection .

您可以使用toArray()方法将其转换为数组:

$topic = topic::where('id', $id)->get()->toArray();

关于php - 为什么 laravel 中 get() 函数的返回值在检查 is_array 时不是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37122383/

相关文章:

PHP - 使用 LOAD DATA INFILE 将 CSV 文件导入 mysql 数据库

php - 存储在数组中并插入不同的字段名称

php - 在php中插入1000行,每次都不同

php - 如何使用php从mysql查询直接创建多维数组?

php - Lumen:在 Blade View 中获取 URL 参数

php - 使用列表中的随机链接更新列

javascript - 从过滤器方法 JavaScript 返回索引值

php - 引用 - 这个错误在 PHP 中意味着什么?

php - Laravel 4 如何使用 ajax 和 json 返回多个 View 数据?

javascript - 我的观点之一没有出现在我的主人 - Laravel