【问题标题】:PHP trouble with accessing array string elements [closed]访问数组字符串元素的PHP问题[关闭]
【发布时间】: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 很有意义。谢谢你。并不是说您需要声誉积分,但如果您想将其作为答案,它可能会对人们有所帮助,我可以接受。在发布我的问题之前,我环顾四周,但找不到任何类似的解释

标签: php arrays string


【解决方案1】:

这可能对其他人有所帮助,因为在 SO 上找到答案背后的原因比人们想象的要难。即使位置 [0] 只有一个元素,也必须在此处引用索引。因此你需要 $employerInfo[0]->pro_company

【讨论】:

    猜你喜欢
    • 2014-02-23
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    相关资源
    最近更新 更多