【问题标题】:PHP- How to assign class variable & value from string contents?PHP-如何从字符串内容中分配类变量和值?
【发布时间】:2012-04-12 16:38:36
【问题描述】:

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

$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"

我是相当新的 PHP 类,这不起作用。我不知道我是否已经接近,或者我是否已经离开......?

【问题讨论】:

标签: php class object


【解决方案1】:

正确的方法是:

// 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"

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

【讨论】:

  • 效果很好。谢谢!看看这个例子,我可以理解它是如何工作的。再次感谢。
猜你喜欢
  • 2020-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多