是否像php中的函数一样工作?

时间:2015-12-02 14:57:16

标签: php

我有一个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',
)
);

3 个答案:

答案 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'] );

这样,您不需要将所有内容写入每个文件中,并且很容易更改!

以下是一些有相似之处的陈述:

  1. include - 在该点插入文件内容并运行它,就好像它是代码的一部分一样。如果该文件不存在,则会发出警告。

  2. require - 与include相同,但如果找不到该文件则会引发错误并且脚本停止

  3. include_once - 与include相同,但如果之前已包含该文件,则不会再次包含该文件。这可以防止在包含文件中声明的函数再次声明,从而引发错误。

  4. 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.phpbar.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的作用)。