3 回答
TA贡献1824条经验 获得超6个赞
这将在对象数组的末尾追加新对象
$objectArray[] = $newObject;
如果要向对象添加新属性,只需执行以下操作:
$object->newPropery = 'value';
TA贡献1805条经验 获得超9个赞
你在这里有两个选择。第一个只是一个array. PHP 中的数组是关联的,因此它们可以使用字符串作为键,而不仅仅是数字。你会做这样的事情:
$people = [
[
'name' => 'Jane Smith',
'age' => 20,
],
[
'name' => 'Mary Sue',
'age' => 30
]
]
要添加一些像这样的数组,你可以只定义一个新的关键:$people[0]['height'] = 2;。如果您愿意,您还可以使用for循环(或foreach带引用的)根据某些公式将其添加到每个人。
然而,这有点不合时宜,因为数组构成了糟糕的数据结构:没有关于可以在其中包含哪些数据、可以使用该数据做什么等的预定义信息。相反,您通常需要声明一个类,至少像这样:
class Person
{
public $name;
public $age;
public $height;
}
然后,你可以创建$person = new Person();和设置使用箭头语法的值:$person->name = 'Jane Smith';。理想情况下,您还希望构造函数接受初始值和 setter/getter,以便验证传递到对象中的数据,而不是盲目地接受给出的任何值,但这可能会在以后出现。
这是你的两个选择。通常,为快速和脏的临时数据结构选择数组,为更复杂和持久的数据选择对象。由于我看不到您想用这些数据做什么,我不能严格地说是数组还是对象最适合这里。
TA贡献1829条经验 获得超7个赞
它已经很旧了,但还有一个没有提到的选择。
你可以实现你在python中检查过的方式
所以为了创建以下对象:(Python)
obj = {
"name": "john";
}
print(obj.name);
我们将要做的:(PHP)
$obj = '{
"name": "john"
}';
$obj = json_decode($obj);
echo $obj->name;
因为在 python 和 javascript 以及其他语言中,我猜他们对对象使用 json 格式。php 有一个内置函数可以将 json 字符串转换为对象,所以我们只需要将已知格式转换为字符串并告诉 php 解析它,我们最终会得到相同的结果。
现在如果我们想向对象添加一些东西,可以通过以下方式完成:
$obj->age = 22;
var_dump($obj);
输出:
object(stdClass)#4 (2) {
["name"]=>
string(4) "john"
["age"]=>
int(22)
}
- 3 回答
- 0 关注
- 991 浏览
添加回答
举报