我在函数内部遇到变量问题,并且能够在index.php中读取它们.假设我有这个函数(functions.php):
function firstFunction(){
$id = '1234';
secondFunction($id);
}
function secondFunction($idnumber){
if( $idnumber = 1234 ){
$name = "James"; //should say "james".
}
Run Code Online (Sandbox Code Playgroud)
并在index.php中有类似的东西:
include(functions.php)
<?php
firstFunction();
echo $name;
?>
Run Code Online (Sandbox Code Playgroud)
有没有人知道这样做的可能方法?,我需要能够从另一个函数中的函数内部读取变量.
此外,在函数内部调用函数时,允许从第一个函数中读取变量.
谢谢.
在函数内部创建的变量是本地的,你不能在它之外读取它们的内容(因为在函数完成运行后所有的函数局部变量都会被删除).
不正确的方法是$name在第二个函数中使变量成为全局变量.
一个更好的办法来做到这一点是使用函数返回值:secondFunction返回$name,并且firstFunction无论从主叫得到回报secondFunction($id).
哦,顺便说一句,你的另一个逻辑错误secondFunction:你的if测试不会像你想要的那样,因为你使用的是变量值赋值operator(=)而不是compare(==)永远成功 返回在大多数(但不是全部)情况下评估为"true"值的指定值.