是否可以将像$email, $firstname, $lastname, $gender
这样的数组更改为类似$this->email, $this->firstname
的数组,更像是循环,所以我只需要填充第一个数组,然后在数组之后才能使用{ {1}}等
答案 0 :(得分:3)
是的,可以看看这个课程:
Class MyClass {
public function __construct($myArray){
foreach($myArray as $key => $value){
$this->{$key} = $value;
}
}
}
$array = array(
"email" => "example@example.com",
"firstname" => "John",
"lastname" => "Doe",
"gender" => "male"
);
$class = new MyClass($array);
如果您执行var_dump($class)
,它会显示带有值的属性。
答案 1 :(得分:0)
如果您只想将标量变量放入CLASS,那么PHP中已经定义了一个名为stdClass的类。我假设您在使用->
因此,您可以执行
而不是将数据加载到标量变量$user = new stdClass();
$user ->email = $_POST['email'];
$user ->firstname = $_POST['firstname'];
$user ->lastname = $_POST['lastname'];
$user ->gender = $_POST['gender'];
然后,您可以单独引用每个$user ->$email
,并使用foreach
foreach ( $user as $field => $value ) {
echo $field . ' contains the value ' . $value;
}
当然你应该首先清理$ _POST。