【发布时间】:2021-05-31 10:08:45
【问题描述】:
我很难访问数组的元素并且无法弄清楚原因。我敢肯定它很傻。任何帮助将不胜感激。
我var_dump($employerInfo);
得到
array(1) {
[0]=> object(stdClass)#1920 (18) {
["id_professional"]=> string(3) "116"
["pro_fname"]=> string(5) "firstname"
["pro_lname"]=> string(5) "lastname"
["pro_email"]=> string(18) "email@example.org"
["pro_pwd"]=> string(32) "xxxxx"
["pro_company"]=> string(27) "Example company name"
["date_sub"]=> string(19) "2021-02-08 13:34:00"
["pro_enabled"]=> string(1) "1"
["pro_title"]=> string(25) "Title"
["pro_address"]=> string(33) "123 main street"
["pro_address2"]=> string(0) ""
["pro_state"]=> string(2) "CA"
["pro_city"]=> string(5) "city"
["pro_zipcode"]=> string(5) "12345"
["pro_phone"]=> string(14) "(123) 456-7360"
["pro_extension"]=> string(0) ""
["pro_fax"]=> string(1) "-"
["pro_website"]=> string(31) "https://www.examplesite.com/"
}
}
所以我只想访问pro_company,因此我使用
echo($employerInfo[1]); 但得到错误“UUndefined offset: 1 in ...”
所以看到它不是索引数组,然后我开始尝试通过对象选择器访问 - echo($employerInfo->pro_company) 但这会出现错误 - “尝试在......中获取非对象的属性 'pro_company'”
访问这个的解决方案是什么?
【问题讨论】:
-
$employerInfo只有一个元素,它的索引是0。 -
$employerInfo[0]->pro_company -
啊,谢谢。我一定在其他地方遇到了另一个错误,因为我也尝试过并且得到了未定义的索引。所以我更好理解,为什么只有一个元素时需要索引?
-
它仍然是一个数组。您必须使用索引来区分对数组元素和数组本身的操作。
-
@barmar 很有意义。谢谢你。并不是说您需要声誉积分,但如果您想将其作为答案,它可能会对人们有所帮助,我可以接受。在发布我的问题之前,我环顾四周,但找不到任何类似的解释