Php 如何在函数内部调用函数
出现错误:调用未定义的函数tim() 我如何解决这个问题Php 如何在函数内部调用函数,php,Php,出现错误:调用未定义的函数tim() 我如何解决这个问题 public function SelectEmailLimit(){ $stmt = $this->conn->prepare("SELECT fname, mname, lname, created_at FROM ms_membership ORDER BY id DESC LIMIT 4"); $stmt->execute(); $row =array(); $stmt->
public function SelectEmailLimit(){
$stmt = $this->conn->prepare("SELECT fname, mname, lname, created_at FROM ms_membership ORDER BY id DESC LIMIT 4");
$stmt->execute();
$row =array();
$stmt->bind_result($fname, $mname, $lname,$created);// can write any name to bind the result shouldnot be same as table row name
while ($stmt->fetch())
{
$create =tim($created);
$row[] = array(
'fname' => $fname,
'mname' => $mname,
'lname' => $lname,
'created' => $create
);
}
function tim($created){
return me;
}
$stmt->close();
return $row;
}
PHP没有函数的作用域,所以“函数中的函数”不是“一件事”。当第一次命中该行代码时,
函数tim
将被动态地全局定义。这意味着:
SelectEmailLimit
,PHP将尝试两次定义函数,这将导致错误$tim = function ($created) { return me; };
...
$create = $tim($created);
显然,在调用之前,您还需要定义这些功能。定义
tim
函数外部SelectEmailLimit
创建tim
函数外部SelectEmailLimit
。而且me
在tim
中未定义,我们无法从这段代码中猜出,我是什么?所以没有人能告诉你为什么它是未定义的,你不能在PHP中这样定义一个函数。充其量,但我强烈反对这样做,您可以将函数引用存储在变量中并调用它……如果您开始这样编程,您已经准备好学习闭包;-)