【问题标题】:Trying to display values while looping an array尝试在循环数组时显示值
【发布时间】:2015-05-14 17:45:11
【问题描述】:

我正在使用 API 从公司获取数据。返回的数组如下所示(正在返回的数据)。我最多可以收到 10 条回复。

我正在尝试使用如下所示的 foreach 循环 (FOREACH LOOP) 来提取值。

我想循环并增加 [0] 的值,这样我就可以在屏幕上显示所有 10 个响应,而不是复制和粘贴该代码 10 次。

我尝试了一个 for 语句来增加 $x 并且通常会得到 Illegal string offset 错误。

帮助表示赞赏!

var_dump 的输出:

array(3) { ["ResponseCode"]=> int(200) ["ResponseText"]=> string(2) "OK" ["Data"]=> array(1) { [0]=> array(9) { ["LastName"]=> string(6) "Brewer" ["cobalt_IARRELicenseNumber"]=> NULL ["ContactId"]=> string(36) "xxxxxxxx-f0a2-4ca6-8ab1-693bb3fd8ad2" ["cobalt_NRDSID"]=> string(9) "xxxxxxx73" ["EMailAddress1"]=> string(15) "mbxxxx@xxxr.org" ["FirstName"]=> string(4) "Mxxx" ["Telephone1"]=> string(12) "217-529-2xx0" ["cobalt_Username"]=> string(7) "mxxxx" ["cobalt_contact_cobalt_membership"]=> array(1) { [0]=> array(3) { ["cobalt_MemberTypeId"]=> array(3) { ["Type"]=> string(34) "EntityReference: cobalt_membertype" ["Value"]=> string(36) "xxxxxxb0-ef20-e111-b470-00155d000140" ["Display"]=> string(5) "Staff" } ["cobalt_OfficeId"]=> array(3) { ["Type"]=> string(24) "EntityReference: account" ["Value"]=> string(36) "cxxxxxe-0cc1-449b-af79-6b9e85464c7c" ["Display"]=> string(27) "xxx Asxxxxxx" } ["statuscode"]=> array(3) { ["Type"]=> string(9) "OptionSet" ["Value"]=> int(1) ["Display"]=> string(6) "Active" } } } } } }

FOREACH 循环:

foreach($data as $value){
if (isset($value[0]['LastName'])){
        echo '<b>Last Name: </b>';
        echo $value[0]['LastName'] .' <br>';

        echo '<b>First Name: </b>';
        echo $value[0]['FirstName'] .' <br>';

        echo '<b>NRDS ID: </b>';
        echo $value[0]['cobalt_NRDSID'] .' <br>';

        echo '<b>Member Type: </b>';
        echo $value[0]['cobalt_contact_cobalt_memberships'][0]            ['cobalt_MemberTypeId']['Display'] .' <br>';

        echo '<b>Status: </b>';
        echo $value[0]['cobalt_contact_cobalt_memberships'][0]['statuscode']['Display'];

}

}

DATA BEING RETURNED:
Array
(
[ResponseCode] => 200
[ResponseText] => OK
[Data] => Array
    (
        [0] => Array
            (
                [LastName] => FLACK
                [ContactId] => d4edfefc-xxxx-xxxx-xxxx-xxxx51608a9c
                [cobalt_NRDSID] => 37xxxx119
                [FirstName] => JANE
                [cobalt_contact_cobalt_memberships] => Array
                    (
                        [0] => Array
                            (
                                [cobalt_MemberTypeId] => Array
                                    (
                                        [Type] => EntityReference: cobalt_membertype
                                        [Value] => dxxxx4b0-ef20-e111-b470-00155d000140
                                        [Display] => MEMBER
                                    )

                                [cobalt_OfficeId] => Array
                                    (
                                        [Type] => EntityReference: account
                                        [Value] => xxxxxxxx-b4b7-4b87-90fa-5e644e8ce516
                                        [Display] => BANK
                                    )

                                [statuscode] => Array
                                    (
                                        [Type] => OptionSet
                                        [Value] => 2
                                        [Display] => Inactive
                                    )

                            )

                    )

            )

       Array
(

    (
        [1] => Array
            (
                [LastName] => DOE
                [ContactId] => d4edfefc-xxxx-xxxx-xxxx-xxxx51608a9c
                [cobalt_NRDSID] => 37xxxx120
                [FirstName] => JANE
                [cobalt_contact_cobalt_memberships] => Array
                    (
                        [0] => Array
                            (
                                [cobalt_MemberTypeId] => Array
                                    (
                                        [Type] => EntityReference: cobalt_membertype
                                        [Value] => dxxxx4b0-ef20-e111-b470-00155d000140
                                        [Display] => MEMBER
                                    )

                                [cobalt_OfficeId] => Array
                                    (
                                        [Type] => EntityReference: account
                                        [Value] => xxxxxxxx-b4b7-4b87-90fa-5e644e8ce516
                                        [Display] => BANK
                                    )

                                [statuscode] => Array
                                    (
                                        [Type] => OptionSet
                                        [Value] => 2
                                        [Display] => Inactive
                                    )

                            )

                    )

            )

【问题讨论】:

  • 请用您使用的语言标记这个问题。

标签: php arrays loops foreach


【解决方案1】:

DATA BEING RETURNED 中的内容是 PHP print_r() 函数的输出。 您可以尝试重新创建原始数据。以下是一些已经解决的主题:

first

second

【讨论】:

猜你喜欢
  • 2012-11-20
  • 1970-01-01
  • 2017-05-21
  • 2014-10-03
  • 2014-10-28
  • 2012-11-16
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
相关资源
最近更新 更多