PHP 5.4非法字符串偏移错误

加勒比海

我正在使用foreach构造来查看从函数返回的数组。不幸的是,如果只有1个结果而不是大于1个结果,则此函数将返回不同的结构。当有一个结果时,我得到以下结果:

array(3) {
  ["name"]=>
  string(5) "chris"
  ["admin"]=>
  string(5) "chris"
  ["time"]=>
  string(19) "2014/06/27 12:36:31"
}
string(34) "$1$9243ujf0i2j8ehdf24hdf9a8"

我正在尝试获取[“ name”]值。如果我使用以下代码,则变量具有正确的数据,但出现非法字符串偏移错误:

foreach($res[1]['result']['user']['entry'] as $user) {
  $s = $user['name'];
  echo $s;
}

如何正确获取array [“ name”]值?还是我必须在更高层次上做一些不同的事情?当只有一个条目时,我得到的原始数据如下:

array(2) {
  ["@attributes"]=>
  array(2) {
    ["status"]=>
    string(7) "success"
    ["code"]=>
    string(2) "19"
  }
  ["result"]=>
  array(2) {
    ["@attributes"]=>
    array(2) {
      ["total-count"]=>
      string(1) "1"
      ["count"]=>
      string(1) "1"
    }
    ["user"]=>
    array(2) {
      ["@attributes"]=>
      array(2) {
        ["admin"]=>
        string(5) "chris"
        ["time"]=>
        string(19) "2014/06/27 12:39:58"
      }
      ["entry"]=>
      array(2) {
        ["@attributes"]=>
        array(3) {
          ["name"]=>
          string(5) "chris"
          ["admin"]=>
          string(5) "chris"
          ["time"]=>
          string(19) "2014/06/27 12:36:31"
        }
        ["phash"]=>
        string(34) "$1$9243ujf0i2j8ehdf24hdf9a8"
      }
    }
  }
}

如果有多个条目,则显示以下内容:

array(2) {
  ["@attributes"]=>
  array(2) {
    ["status"]=>
    string(7) "success"
    ["code"]=>
    string(2) "19"
  }
  ["result"]=>
  array(2) {
    ["@attributes"]=>
    array(2) {
      ["total-count"]=>
      string(1) "1"
      ["count"]=>
      string(1) "1"
    }
    ["user"]=>
    array(2) {
      ["@attributes"]=>
      array(2) {
        ["admin"]=>
        string(5) "chris"
        ["time"]=>
        string(19) "2014/06/27 12:57:32"
      }
      ["entry"]=>
      array(2) {
        [0]=>
        array(2) {
          ["@attributes"]=>
          array(3) {
            ["name"]=>
            string(5) "chris"
            ["admin"]=>
            string(5) "chris"
            ["time"]=>
            string(19) "2014/06/27 12:36:31"
          }
          ["phash"]=>
          string(34) "$1$9243ujf0i2j8ehdf24hdf9a8"
        }
        [1]=>
        array(2) {
          ["@attributes"]=>
          array(3) {
            ["name"]=>
            string(4) "test"
            ["admin"]=>
            string(5) "chris"
            ["time"]=>
            string(19) "2014/06/27 12:57:32"
          }
          ["phash"]=>
          string(34) "$1$as9d8jf238r9jf89j9238jr"
        }
      }
    }
  }
}

请注意[“ entry”]之后的额外索引数组级别。基本上,我只想要[“ name”]值的列表。

劳伦特

首先,将根据结果数量返回不同结构的服务被破坏。如果无法修复,则可以使用以下方法尝试对数据进行规范化处理:

if (!isset($res[1]['result']['user']['entry'][1]) {
    // Not an array, so change the structure to an array with one element:
    $res[1]['result']['user']['entry'] = array($res[1]['result']['user']['entry']);
}

// Now process the data as if the service is always returning an array

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP 5.4非法字符串偏移错误

来自分类Dev

PHP非法字符串偏移错误和字符串转换错误

来自分类Dev

PHP非法字符串偏移量错误

来自分类Dev

PHP中的非法字符串偏移量错误

来自分类Dev

PHP程序返回错误“非法字符串偏移”

来自分类Dev

数组显示但子数组显示“非法字符串偏移”错误-PHP

来自分类Dev

PHP 警告:非法字符串偏移“错误”圆形立方体插件

来自分类Dev

PHP警告-非法的字符串偏移量

来自分类Dev

PHP-数组-非法的字符串偏移量

来自分类Dev

修复PHP更新后的非法字符串偏移

来自分类Dev

警告:非法字符串偏移 php sql

来自分类Dev

PHP foreach 循环警告非法字符串偏移

来自分类Dev

PHP:如何修复非法字符串偏移?

来自分类Dev

如何修复PHP中的警告非法字符串偏移量

来自分类Dev

将CakePHP部署到PHP 5.4.16可在CakePHP的Core中提供非法的字符串偏移

来自分类Dev

如何解决PHP中的非法字符串偏移['id']?

来自分类Dev

php echo中的非法字符串偏移量“结果”

来自分类Dev

ErrorException非法的字符串偏移量'service_1'(查看:form.blade.php)

来自分类Dev

问[PHP]:这是什么意思?-> 警告:非法字符串偏移

来自分类Dev

如何解决打印数组值时出现非法字符串偏移错误?

来自分类Dev

php代码显示偏移错误

来自分类Dev

PHP-遇到偏移错误

来自分类Dev

将CakePHP部署到PHP 5.4.16会在CakePHP的Core中提供非法的字符串偏移量

来自分类Dev

警告:typo3 / sysext / lang / Classes / LanguageService.php中的非法字符串偏移量'target'

来自分类Dev

如何在php中插入像[“3”,“4”,“5”]这样的字符串保存的数字

来自分类Dev

用5个php变量制作字符串

来自分类Dev

警告:非法偏移类型 PHP 错误

来自分类Dev

从 php 5 升级到 php 7 时数组到字符串的转换

来自分类Dev

PHP / HTML错误-非法字符

Related 相关文章

  1. 1

    PHP 5.4非法字符串偏移错误

  2. 2

    PHP非法字符串偏移错误和字符串转换错误

  3. 3

    PHP非法字符串偏移量错误

  4. 4

    PHP中的非法字符串偏移量错误

  5. 5

    PHP程序返回错误“非法字符串偏移”

  6. 6

    数组显示但子数组显示“非法字符串偏移”错误-PHP

  7. 7

    PHP 警告:非法字符串偏移“错误”圆形立方体插件

  8. 8

    PHP警告-非法的字符串偏移量

  9. 9

    PHP-数组-非法的字符串偏移量

  10. 10

    修复PHP更新后的非法字符串偏移

  11. 11

    警告:非法字符串偏移 php sql

  12. 12

    PHP foreach 循环警告非法字符串偏移

  13. 13

    PHP:如何修复非法字符串偏移?

  14. 14

    如何修复PHP中的警告非法字符串偏移量

  15. 15

    将CakePHP部署到PHP 5.4.16可在CakePHP的Core中提供非法的字符串偏移

  16. 16

    如何解决PHP中的非法字符串偏移['id']?

  17. 17

    php echo中的非法字符串偏移量“结果”

  18. 18

    ErrorException非法的字符串偏移量'service_1'(查看:form.blade.php)

  19. 19

    问[PHP]:这是什么意思?-> 警告:非法字符串偏移

  20. 20

    如何解决打印数组值时出现非法字符串偏移错误?

  21. 21

    php代码显示偏移错误

  22. 22

    PHP-遇到偏移错误

  23. 23

    将CakePHP部署到PHP 5.4.16会在CakePHP的Core中提供非法的字符串偏移量

  24. 24

    警告:typo3 / sysext / lang / Classes / LanguageService.php中的非法字符串偏移量'target'

  25. 25

    如何在php中插入像[“3”,“4”,“5”]这样的字符串保存的数字

  26. 26

    用5个php变量制作字符串

  27. 27

    警告:非法偏移类型 PHP 错误

  28. 28

    从 php 5 升级到 php 7 时数组到字符串的转换

  29. 29

    PHP / HTML错误-非法字符

热门标签

归档