2013-04-26 39 views
0

这是我在PHP已创建的类创建对象的阵列,然后设置成员变量

class userinfo 
    { 
     public $username; 
     public $totalscore; 
     public $userid; 
    } 

下面的代码是在一个有限的循环,并且i在进入循环之前设置为0 。而可变user_array被定义为使用如下代码的数组:

$user_array = array(); 

(some code here...) 

    $i++; 
    $user_array[i] = new userinfo(); 
    $user_array[i]->totalscore = $stattotal; 
    $user_array[i]->userid = $id; 

出于某种原因,我无法理解为什么这不会工作。我需要创建一个对象数组。每个对象都必须包含三个变量。我该如何去做?

谢谢你Adv。您的帮助 !

+0

你明白了什么,当你'你var_dump'阵列? – silkfire 2013-04-26 09:59:09

+1

它应该是'$ i'在你的对象数组中,'$ user_array [$ i]'。 – Rikesh 2013-04-26 10:00:29

+1

专业提示:在脚本开头放置'error_reporting(E_ALL)',不要忽略任何显示的警告。 – Jon 2013-04-26 10:01:04

回答

1

您必须在PHP中的所有变量之前有一个美元符号($i)。

0

您可以使用get_class_vars方法来获取类的所有属性

$my_class = new myclass(); 

$class_vars = get_class_vars(get_class($my_class)); 

foreach ($class_vars as $name => $value) { 
    echo "$name : $value\n"; 
} 

来源:http://php.net/manual/en/function.get-class-vars.php