首页 > 解决方案 > 如何使用箭头指针运算符对动态生成的值进行 PHP 对象引用

问题描述

我希望能够使用指针运算符对动态生成的值进行对象引用

//Jobs

class Jobs 
{
    private $orderid;
    private $quantity;
    private $contactno;
    private $contactname;
}

因此我将创建对象键

$keys = array(
    'orderid',
    'quantity',
    'contactno',
    'contactname'
);

然后做

$size = 4;
$i = 0;

//object instantiation

$jobObject = new Jobs();

$row = array('894949','45','08097577580','Emi');

for($i=0;$i<$size;$i++){

    //This is my challenge

    $jobObject->$keys[$i] = $row[$i];
}

我很确定应该有一种方法可以获取“$jobObject->”可以引用的 $keys[$i] 的值来进行对象属性初始化。

我试图用大括号括起来 $keys[$i]

$jobObject->{$keys[$i]} = $row[$i];

然而它会引发错误。请我需要有关如何使这项工作或出路的帮助。

标签: php

解决方案


您必须对变量变量使用括号。然后,您将能够动态创建对象:

$jobObject->{$keys[$i]} = $row[$i];

看看这个主题的 php 文档:http: //php.net/manual/en/language.variables.variable.php


推荐阅读