こんにちは、ファイルをインクルードし、インクルード ファイルの配列変数を現在のファイルに使用すると、間違った値が取得されます。(つまり、rate.php ファイルに配列があります。現在のファイル(Bankrate.php)に(rate.php)を含めました。bankrate.php ファイルの配列 ($commodities_arr) にアクセスする必要があります。rate.php ファイルを単独で実行すると、期待どおりの回答が得られます。しかし、bankrate.php にインクルードして $commodities_arr を使用すると、間違った答えが返ってきます。しかし、それは間違いなく含まれています。
これが私のインクルードファイル(rate.php)です
<?php
$commodities_arr = array();
$result_set = "myquery";
while($row = mysql_fetch_array($result_set)) {
$selling_rate = '';
$buying_rate = '';
if($row['com_sel_active']==1 || $row['com_buy_active']==1) {
if($row['com_type']==0){
.
.
.
$selling_rate = $selling_con * $row['com_weight'];
.
.
.
$buying_rate = $buying_rate * $row['com_weight'];
}
}
}
.....
.....
........
for(...){
$commodities_arr['buying_rate'][$row['com_id']] = (int)$buying_rate;
$commodities_arr['selling_rate'][$row['com_id']] = (int)$selling_rate;
}
?>
私の通常のファイルは次のようになります(Bankrate.php) $commodities_arr = '';
$filename = "../rate.php";
require($filename);
echo "<pre>";
print_r($commodities_arr);
echo "</pre>";
その中に配列を印刷するrate.php
と、期待どおりに表示されます。(すなわち)
Array (
[buying_rate] => Array ( [1] => 29625 [6] => 29625 )
[selling_rate] => Array ( [1] => 33617 [6] => 33617 )
)
しかし、Bankrate.php 内に表示すると、期待される答えが表示されません。
Array
(
[buying_rate] => Array
(
[1] => 0
[6] => 0
)
[selling_rate] => Array
(
[1] => 0
[6] => 0
)
)