如何在另一个页面中获取数组值

时间:2012-09-21 12:00:22

标签: php

page1.php中

$destinationCity = $_POST['destination'];
$sr = new searchArray();
$final = $sr->searcharray($destinationCity);
echo "<pre>";
print_r($final);
echo $final->vc[0];
echo "</pre>";

使page2.php

class searchArray {

public function searcharray($arr) {
   $rst = array();
   $length = strlen($arr);
    if ($length == 2){
        $sql = "select code from ukhotels where postcode LIKE '$arr%'";
        $rsd = mysql_query($sql);
        while($rs = mysql_fetch_array($rsd)){
        $co = $rs['code'];
        $vc = &$rst['vc'];
        $vi = &$rst['vi'];

        $vc[] = substr($co, 0, 2);
        $vi[] = substr($co, 3, strlen($co));

    }

    }

在page1中,我用一个参数调用该函数。在page2中,我将结果保存在一个关联数组中。

当我从page1打印数组时,它显示输出为

Array
(
[vc] => Array
    (
        [0] => CB
        [1] => RD
        [2] => RT
        [3] => YX
    )

[vi] => Array
    (
        [0] => 01461 
        [1] => 95101 
        [2] => 30818 
        [3] => 77126 
    )

)

我想在第1页中使用这个数组

for($i=0, $j=1;$i<=20;$i++)
{
$params["VendorLocation"]["VendorCode"] = "{$final->vc[$i]}";
$params["VendorLocation"]["VendorLocationID"] = "{$final->vi[$i]}";
$params["VendorLocation"]["Key"] = "{$j}";
$j++;
}    

但它给我一个错误,说“通知:试图获取非对象的属性”

任何人都可以帮我解决这个问题。

此致 黑利

1 个答案:

答案 0 :(得分:0)

$ final是一个数组,访问这样的值:

for($i=0, $j=1; $i<=20; $i++) {
    $params["VendorLocation"]["VendorCode"] = '{' . $final['vc'][$i] . '}';
    $params["VendorLocation"]["VendorLocationID"] = '{' . $final['vi'][$i] . '}';
    $params["VendorLocation"]["Key"] = "{$j}";
    $j++;
}