PHP-如何从字符串内容中分配类变量和值?

JRO*_*ROB 2 php class object

我有一个字符串,我正在尝试用来创建一个类.我试图命名每个属性,并根据字符串的内容定义其值.例如:

$mystring = "first_name=jane,last_name=doe";

$pieces = explode(",", $mystring);

foreach( $pieces as $key => $value){
    $eachvalue = explode("=",$value);

    class MyClass {  

        public $eachvalue['0'] = $eachvalue['1'];  

    }  

} // end foreach

$obj = new MyClass;

echo $obj->first_name; // Should echo "Jane"
Run Code Online (Sandbox Code Playgroud)

我是相当新的PHP类,这是行不通的.我不知道我是否亲近,或者我离开了......?

Dav*_*dom 5

正确的方法是:

// Class definition
class MyClass {  

    public $first_name;
    public $last_name;

}

$mystring = "first_name=jane,last_name=doe";

// Instantiate the class
$obj = new MyClass;

// Assign values to the object properties
$pieces = explode(",", $mystring);
foreach ($pieces as $key => $value) {
  // this allows you to assign the properties dynamically
  list($name, $val) = explode("=", $value);
  $obj->$name = $val;
} // end foreach

echo $obj->first_name; // Should echo "Jane"
Run Code Online (Sandbox Code Playgroud)

一个类只能定义一次 - 通过将它放在循环中,您在循环的每次迭代中声明它.此外,类不会保存您在对象实例中所需的值,它是描述对象如何的骨架.所以你要做的是定义类,实例化它,然后为它赋值.