我有一个PHP文件,如下所示,它是一个配置文件。
当我在代码和return
中使用var_dump(include 'config.php');
时
我看到一个数组,但是当我删除返回时,结果是
int 1
在这种情况下,是否包含像函数一样的工作?为什么我必须在这里使用return
?
<?php
return array(
'database'=>array(
'host'=>'localhost',
'prefix'=>'cshop_',
'database'=>'finalcshop',
'username'=>'root',
'password'=>'',
),
'site'=>array(
'path'=>'/CshopWorking',
)
);
答案 0 :(得分:2)
include从另一个页面获取PHP代码并将其粘贴到当前页面中。在您运行当前页面之前,它不会运行代码。
像这样使用:
的config.php
$config = array(
'database'=>array(
'host'=>'localhost',
'prefix'=>'cshop_',
'database'=>'finalcshop',
'username'=>'root',
'password'=>'',
),
'site'=>array(
'path'=>'/CshopWorking',
)
);
在你的文件中,比如index.php
include( 'config.php' );
$db = new mysqli(
$config['database']['host'],
$config['database']['username'],
$config['database']['password'],
$config['database']['database'] );
这样,您不需要将所有内容写入每个文件中,并且很容易更改!
以下是一些有相似之处的陈述:
include - 在该点插入文件内容并运行它,就好像它是代码的一部分一样。如果该文件不存在,则会发出警告。
require - 与include相同,但如果找不到该文件则会引发错误并且脚本停止
include_once - 与include相同,但如果之前已包含该文件,则不会再次包含该文件。这可以防止在包含文件中声明的函数再次声明,从而引发错误。
require_once - 与include_once相同,但如果找不到该文件则会抛出一个。
答案 1 :(得分:2)
include
的返回值为&#34; true&#34;(1)或&#34; false&#34;。如果在包含的文件中放入return
语句,则返回值将是您返回的任何值。然后你可以做
$config = include config.php';
然后和$config
将包含您在config.php中返回的数组的值。
答案 2 :(得分:0)
首先,include
不一个函数;它是一种语言结构。这意味着你应该谷歌自己。
回到你的问题:include 'foo.php
在确切的位置将'foo.php'的内容直接插入到你的脚本中。
演示示例:假设您有两个文件foo.php
和bar.php
。他们看起来如下:
的 foo.php:强>
<?php
echo "<br>my foo code";
include 'bar.php';
$temp = MyFunction();
<强> bar.php:强>
<?php
echo "<br>my bar code";
function MyFunction()
{
echo "<br>yes I did this!";
}
这样可行,因为在评估include
语句后,您的foo.php
看起来像这样(对于您的PHP服务器):
<?php
echo "<br>my foo code";
echo "<br>my bar code";
function MyFunction()
{
echo "<br>yes I did this!";
}
$temp = MyFunction();
所以你的输出是:
my foo code
my bar code
yes I did this!
编辑:进一步澄清,如果您在文件中创建变量,函数,GLOBAL定义等,这些将在您包含该文件的任何文件中都可用,就好像您在那里写了它们(因为正如我刚才解释的那样,这基本上就是PHP的作用)。