我看到有人问过类似的问题,但是我似乎比被问到的问题更多的基本知识。如何在php中声明变量?我的特定问题是我有一个读取数据库表并返回记录(仅一个)作为对象的函数。

class User{
   public $uid;
   public $name;
   public $status;
}

function GetUserInfo($uid)
{
   // Query DB

   $userObj = new User();

   // convert the result into the User object.

   var_dump($userObj);
   return $userObj;
}

// In another file I call the above function.

....

$newuser = GetUserInfo($uid);

var_dump($newuser);

这是什么问题,我无法理解。本质上,函数var_dump()中的GetUserInfo()可以正常工作。调用var_dump()后,外面的GetUserInfo()不起作用。

最佳答案

使用PHP5可以正常工作:

<pre>
<?php

class User{
   public $uid;
   public $name;
   public $status;
}

function GetUserInfo($uid)
{

   $userObj = new User();
   $userObj->uid=$uid;
   $userObj->name='zaf';
   $userObj->status='guru';
   return $userObj;
}

$newuser = GetUserInfo(1);
var_dump($newuser);

?>
</pre>

object(User)#1 (3) {
  ["uid"]=>
  int(1)
  ["name"]=>
  string(3) "zaf"
  ["status"]=>
  string(4) "guru"
}

关于php - 用PHP返回对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2765889/

10-12 07:16