2015-12-02 35 views
1

我有一個PHP文件,如下所示,這是一個配置文件。和 當我在我的代碼使用returnvar_dump(include 'config.php'); 我看到一個陣列,但是當我刪除返回的結果是是否包含像php中的函數一樣的工作?

INT 1

不包括像在這種情況下,一個函數的工作?爲什麼我必須在這裏使用return

<?php 
return array(
'database'=>array(
    'host'=>'localhost', 
    'prefix'=>'cshop_', 
    'database'=>'finalcshop', 
    'username'=>'root', 
    'password'=>'', 
), 
'site'=>array(
    'path'=>'/CshopWorking', 
) 
); 
+0

關於'include'的問題 - > [RTM](http://php.net/manual/en/function.include.php) – Rizier123

回答

2

include的返回值爲「true」(1)或「false」。如果您在包含的文件中添加return語句,則返回值將是您返回的任何內容。那麼你可以做

$config = include config.php'; 

$config然後將包含您在config.php返回的數組的值。

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 - 同包括,但如果沒有找到該文件,則會引發錯誤和腳本停止

  3. include_once - 同包括,但如果該文件之前已被包括在內,它不會做再一次。這可以防止在包含文件中聲明的函數再次聲明,並引發錯誤。

  4. require_once - 與include_once相同,但在未找到該文件時拋出一個eeror。

0

首先,include不是函數;它是一種語言結構。這意味着你應該爲自己尋找Google。

回到你的問題: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! 

編輯:進一步明確,如果你創建變量,函數,全局定義等在文件中,這些都將在任何文件中提供在其中包括文件,就好像你在那裏寫的那樣(因爲正如我剛剛解釋的那樣,這基本上是PHP所做的)。

相關問題