2015-09-11 4 views
-1

Я бы сделал переменную видимой из разных функций без использования параметров, например. как публиковать переменную. Возможно ли это в php? Это простой пример того, что я хотел бы сделать:Как сделать переменную видимой между функциями

<?php 
    calc(); 

    function a(){ 
     $var=1; // I would make $var visible to function calc() 
    } 

    function calc(){ 
     a(); 
     $var2=3/$var; 
     echo $var2; 
    } 
?> 
+1

Дайте ему несколько минут: http://php.net/manual/en /functions.returning-values.php – Rizier123

+1

вернуть значение. – aldrin27

+0

Но в случае, если функция a() должна возвращать много переменных, и я не буду использовать массивы. – Denis

ответ

1

Как уже упоминалось в комментариях Rizier123 и aldrin27, вам просто нужно, чтобы вернуть значение в a():

calc(); 

function a(){ 
    $var = 1; 
    return $var; 
} 

function calc(){ 
    $var = a(); 
    $var2 = 3/$var; 
    echo $var2; 
} 
1

Если вы можете 't верните значения, вы можете использовать global.

function a() { 
    global $var; 
    $var = 1; 
} 

function calc() { 
    global $var; 
    $var2 = 3/$var; 
    echo $var2; 
} 
2

Он может использовать глобальную переменную, но в большинстве случаев WRONG WAY!

function a(){ 
    global $var=1; // as well as in the second function 
} 

Лучше вернуться через переменного возвращение

function a(){ 
    return 1; 
} 

function calc(){ 
    $var = a(); 
    $var2=3/$var; 
    echo $var2; 
} 

Или использовать ООП/класс

class Calculator { 
    var $var; 
    function a(){ 
    $this->var=1; // I would make $var visible to function calc() 
    } 

    function calc(){ 
    $this->a(); 
    $var2=3/$this->var; 
    echo $var2; 
    } 
} 

$calculator = new Calculator(); 
$calculator->calc(); 
Смежные вопросы