关于PHP中的函数的非常简单的问题

时间:2011-01-29 07:54:56

标签: php

为了能够在先前在函数之外定义的函数中使用变量,我们这样做:

function animal() {    
     global $favAnimal, $personName;    
     //more code here    
}

但是我们如何使用在该函数之外的函数中定义的变量?例如,以下内容不起作用:

function animal() {    
    $animalName = 'tiger';    
}

animal();

echo $animalName; //prints nothing

5 个答案:

答案 0 :(得分:2)

同样的方式。但是不要这样做。

function animal() {    
    global $animalName;
    $animalName = 'tiger';    
}

答案 1 :(得分:0)

除非该函数位于调用堆栈的上方且已将变量传递给被调用函数,否则无法访问其他函数的本地变量。但是,任何函数都可以向全局范围添加其他变量。

您好像在寻找return声明:

function animal() {    
    $animalName = 'tiger';    

    return $animalName;
}

$name = animal();

echo $name; // prints 'tiger'

答案 2 :(得分:0)

function animal() {
    return 'ounce';
}

echo animal();

你应该return动物名称。

如果你想将某些东西传递给函数,请使用参数,而不是global

function animal($type) {
    if ($type == 'cat') {
        return 'tiger';
    } else {
        return 'something else';
    }
}

echo animal('cat');

答案 3 :(得分:0)

function animal() {    
    $animalName = 'tiger';    
return $animalName;
}

$animalName=animal();

echo $animalName; //prints tiger

答案 4 :(得分:0)

  function animal() {    
     animalName = 'tiger';  
     return $animalName;  
  }

  echo animal();