为了账号安全,请及时绑定邮箱和手机立即绑定

无法在 php 中向复杂对象添加键值对

无法在 php 中向复杂对象添加键值对

PHP
慕无忌1623718 2022-09-17 17:20:57
我正在尝试在PHP中创建一个对象:$obj= {abc@gmail.com:[usr:130,fname:'Bob',lname:'thekid',news:0,wres:1,SWAGLeaders:0]}最终,$obj将有许多电子邮件地址,每个地址都有自己的阵列。以下是我到目前为止所拥有的:    $obj = new stdClass();       $obj->{$user[0]['email']}=[];其中 包含电子邮件地址。$user[0]['email]我的问题是我不知道如何将元素添加到数组中
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

如果你真的需要一个对象,你就走在正确的道路上。


$user[0]['email'] = 'test';

$obj = new stdClass();

$obj->{$user[0]['email']} = ['usr' => 130, 'fname' => 'Bob', 'lname' => 'thekid', 'news' => 0, 'wres' => 1, 'SWAGLeaders' => 0];

echo json_encode($obj);

这是输出。http://sandbox.onlinephpfunctions.com/code/035266a29425193251b74f0757bdd0a3580a31bf


但是,我个人认为不需要对象,我会使用语法更简单的数组。


$user[0]['email'] = 'test';

$obj[$user[0]['email']] = ['usr' => 130, 'fname' => 'Bob', 'lname' => 'thekid', 'news' => 0, 'wres' => 1, 'SWAGLeaders' => 0];

echo json_encode($obj);

http://sandbox.onlinephpfunctions.com/code/13c1b5308907588afc8721c1354f113c641f8788


查看完整回答
反对 回复 2022-09-17
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

与最初将数组分配给对象的方式相同。


$user[0]['email'] = "abc@gmail.com";

$obj = new stdClass;

$obj->{$user[0]['email']} = [];


$obj->{$user[0]['email']}[] = "Element 1";

$obj->{$user[0]['email']}[] = "Element 2";

$obj->{$user[0]['email']}[] = "Element 3";


var_dump($obj);

object(stdClass)#1 (1) {

  ["abc@gmail.com"]=>

  array(3) {

    [0]=>

    string(9) "Element 1"

    [1]=>

    string(9) "Element 2"

    [2]=>

    string(9) "Element 3"

  }

}


查看完整回答
反对 回复 2022-09-17
  • 2 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号