2016-03-31 13 views
-1

配列を返すPHPページがあります。私は別のPHPページのループ内にPHPページを含めました。私は最初の配列だけの結果を得ています。最初の繰り返しの後に配列を印刷しようとすると、何も印刷されません。ループ内のインクルードされたページ内のPHP配列

のPage1:

復帰配列

結果

:ループ

スタートは、ループ

のPage2のページ2

エンドが含まれます

印刷配列

foreach($res->list as $Flist){ 
    Field($k,$fi); 
} 

における最初の値のみのPage1:

function Field($key, $Id){ 
    include('inp.php'); 
    print_r($S_array); 
} 

ページ2:(inp.php)

$Deficit = f1(); 
for($i = 0; $i<20 ; $i++){ 
    $S_array[$i] = $Deficit; 
} 
function f1(){ 
    return $something; 
} 
+3

あなたはどのように1ページ目でそれを割り当てている、2ページから配列を返す場合は、実際のコード –

+0

を提供してください? – Barmar

+0

コードは実際には非常に長いです、私はここにそれを含めることはできません – PHPMODE

答えて

1

あなたはinp.phpからf1()関数の定義を削除する必要があります。そうしないと、関数をインクルードするたびに関数を再定義しようとするため、致命的なエラーが発生します。その定義をページ1に移動するか、一度だけ含む他のファイルに移動します。

しかし、全体を設計するより良い方法は、インクルードファイルに関数を定義し、それを他のファイルから呼び出すことです。

inp.php:

function get_S_Array() { 
    $Deficit = f1(); 
    for ($i = 0; $i < 20; $i++) { 
     $S_array[$i] = $Deficit; 
    } 
    return $S_array; 
} 

function f1() { 
    return $something; 
} 

ページ1:

include('inp.php'); 
function Field($key, $Id){ 
    $S_array = get_S_array(); 
    print_r($S_array); 
} 
+0

ありがとう、それは働いた。どうもありがとう。私は申し訳ありませんが大声で評判を持っていません。 – PHPMODE

+0

答えを受け入れることは、それが働いたことを示す方法です。チェックマークをクリックします。 – Barmar

関連する問題