函数内的PhP变量

-1 php variables function

我在函数内部遇到变量问题,并且能够在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)

有没有人知道这样做的可能方法?,我需要能够从另一个函数中的函数内部读取变量.

此外,在函数内部调用函数时,允许从第一个函数中读取变量.

谢谢.

Jul*_*ian 6

在函数内部创建的变量是本地的,你不能在它之外读取它们的内容(因为在函数完成运行后所有的函数局部变量都会被删除).

不正确的方法是$name在第二个函数中使变量成为全局变量.

一个更好的办法来做到这一点是使用函数返回值:secondFunction返回$name,并且firstFunction无论从主叫得到回报secondFunction($id).

哦,顺便说一句,你的另一个逻辑错误secondFunction:你的if测试不会像你想要的那样,因为你使用的是变量值赋值operator(=)而不是compare(==)永远成功 返回在大多数(但不是全部)情况下评估为"true"值的指定值.

  • 并不是`=`运算符总是成功,而是它返回分配给LHS的值.在这种情况下,那是'1234`,但它可能是一个像`false`或'0`的值,在这种情况下`if`条件会失败. (2认同)