php中的公共变量

时间:2015-07-28 14:13:19

标签: php public-method

我有这个功能:

function map(){          
        $address = mashhad; // Google HQ
        $prepAddr = str_replace(' ','+',$address);
        $geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false');
        $output= json_decode($geocode);
        $latitude = $output->results[0]->geometry->location->lat;
        $longitude = $output->results[0]->geometry->location->lng;
        $ogt=owghat($month , $day , $longitude , $latitude  , 0 , 1 , 0);
}

我需要在另一个函数中使用表单$ ogt,是否可以将声明的ogt声明为公共变量,如果可能,我该怎么做?

3 个答案:

答案 0 :(得分:2)

如果您在该函数之外声明$ogt,那么它对您正在进行的工作将是全局的。您还可以通过map()调用$ogt的函数作为通话的一部分。这真的取决于你在做什么。您也可以在C#中将变量声明为公共变量。我会从PHP手册中推荐这个:

http://php.net/manual/en/language.oop5.visibility.php

http://php.net/manual/en/language.variables.scope.php

答案 1 :(得分:1)

您可以在函数中将其设置为全局:

function map() {
    //one method of defining globals in a function
    $GLOBALS['ogt'] = owghat($moth, $day, $longitude, $latitude, 0, 1, 0);
    // OR
    //the other way of defining a global in a function
    global $ogt;
    $ogt = owghat($month, $day, $longitude, $latitude, 0, 1, 0);
}

但是这不是你应该采取的方式。如果我们想要一个函数的变量,我们只需从函数中返回它:

function map() {
    $ogt = owghat($month, $day, $longitude, $latitude, 0, 1, 0);
    return $ogt;
}

$ogt = map(); //defined in global scope.

答案 2 :(得分:0)