【问题标题】:Error when trying to echo values from a data [duplicate]尝试从数据中回显值时出错[重复]
【发布时间】:2022-01-11 00:19:59
【问题描述】:

我在尝试使用 echo 调用数据时遇到错误。

{
  "prefix": "_country-",
  "countries": [
    {
      "code": "al",
      "name": "Albania",
      "cities": {
        "prefix": "_city-",
        "options": [
          {
            "code": "durres"
          },
          {
            "code": "tirana"
          }
        ]
      }
    },
    {
      "code": "dz",
      "name": "Algeria",
      "cities": {
        "prefix": "_city-",
        "options": [
          {
            "code": "algiers"
          },
          {
            "code": "oran"
          }
        ]
      }
    }
  ]
}

我的目标是获取上面的这些数据,并期望它使用以下代码循环直到它的最后一个数据:

`foreach($countryarr1['countries'] as $countkey1 => $countname1){ ?> <br><br> <?php 
  foreach($countname1['cities'] as $cntrykey2 => $cntrys){
    foreach($cntrys['options'] as $optionskey1 => $optionsarr1){
      var_dump($optionsarr1);
    }
  }
}`

返回这个错误

'Fatal error: Uncaught TypeError: Cannot access offset of type string on string in 
C:\xampp\htdocs\homepage\countries.php:25 Stack trace: #0 {main} thrown in 
C:\xampp\htdocs\homepage\countries.php on line 25'

这是第 25 行

Error on line 25

我错过了什么吗?顺便说一句,我正在为网站制作代理仪表板。

这证明当我只有 2 个数组时它没有问题:

foreach for 2 arrays

output with no errors

现在,当我在第三个数组上添加另一个 foreach 等等时,就会出现错误。在这里。

foreach for 3rd array

还有错误error

【问题讨论】:

  • 我在 2 个阵列上执行此操作时没有问题,现在我在 4 个阵列上我真的不知道我错过了什么。非常感谢您的帮助!
  • 您尝试过什么解决问题的方法?给定的代码不包含第 25 行,所以很难看出它为什么会失败
  • 我的错,这是第 25 行 i.stack.imgur.com/8c4r9.png

标签: php arrays echo


【解决方案1】:

您正在对象 城市 上使用 foreach。要么制作 cities 数组,要么直接访问 cities

$countname1['cities'] OR $countname1.cities

【讨论】:

猜你喜欢
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-16
  • 1970-01-01
  • 2019-03-06
  • 1970-01-01
  • 2021-12-21
相关资源
最近更新 更多