2015-11-13 29 views
1

我有一個ID數組,並且對於每個ID,我想包括一個文件,並將ID發送到包含文件,但在第一個ID之後,其他ID爲空。爲什麼其他ID不通過包含文件?在foreach循環中包含文件php

$ids = array(1, 2, 3); 
    foreach($ids as $id) { 
     $id = $id; 
     include_once("file.php"); 
     echo $path . "<br />"; // comes from include-file 
    } 

當我在include文件中回顯我的$ id時,我得到'1',但其他兩個id是空的?

+1

返回將退出循環 –

+2

同比不需要,因爲它的存在重新聲明的$ id。因此,只使用包含在你的循環刪除/評論de返回和id行 –

+0

對不起,這是回聲,我改變了這個 – Lilly

回答

1

你有這個問題,因爲你正在使用inlcude_once,這就正是名字所暗示的,它只包括你的文件一次。您需要include。順便說一句,你可以放棄$id=$id;,因爲你已經在這裏定義了$ id:foreach($ids as $id)

試試這個:

$ids = array(1, 2, 3); 
foreach($ids as $id) { 
    include("file.php"); 
    echo $path . "<br />"; // comes from include-file 
} 
+0

謝謝!在包含文件中,我聲明瞭一個函數,爲什麼這是一個問題?因爲當我刪除功能,我得到每個ID。 – Lilly

+0

這是因爲在你的例子中,函數會被聲明3次,因爲3'include?在foreach中,你只能在php中聲明一個函數。 – swidmann