当我有一个看起来像这样的php文件时(没有脚本,只是返回值):
return [1, 2, 3, 4, 5];
我必须使用require
或include
来获取这些文件内容,如下所示:
$contents = require "data.php";
这是从文件中获取数据的常用方法,还是可以通过更多方式完成?
真的,这样我第一次看到,我可以问你,这有效吗?无论如何,这不是一个好的做法。最好在文件中描述函数,然后使用函数。
数据.php:
function get_array(){
return [1, 2, 3, 4 ,5];
}
然后像这样使用它:
include('data.php');
$contents = get_array();
如果需要,要以字符串形式获取所有文件内容,可以使用file_get_contents:
$contents = file_get_contents('data.php');
包含和要求之间有什么区别?当您使用包含并且文件不存在时,您不会收到致命错误。
正如@MarkBaker在评论中发布的那样:
只有当"数据"是可执行代码时,它才很常见,在这种情况下,它非常常见。
包含<?php return [1, 2, 3, 4, 5];
的文件将是可执行代码;包含1, 2, 3, 4, 5
的文件将是不可执行的代码。PHP 没有要执行的代码语句。
在包含后者的文件上使用include
或require
不会实现任何效果;您需要使用file_get_contents()
(或类似)将实际数据读取到变量中。