注意:未定义的偏移量:NESTED ARRAY上的0 [英] Notice: Undefined offset: 0 on NESTED ARRAY

查看:89
本文介绍了注意:未定义的偏移量:NESTED ARRAY上的0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个if statement using isset,当数组内没有任何内容时,它会进行过滤.该数组包含[0]-[16]变量,有时大约包含[11],有时不包含任何变量.当我回声

I am trying to create an if statement using isset which filters when there is nothing inside the array. The array contains [0]-[16] variables roughly sometimes [11] and sometimes nothing. When I echo the

echo $car['Images'][0]['ImageURI'];

如果JSON中有一个变量,它将返回:

If there is a variable in the JSON it returns:

https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=1&Width=960

如果里面什么也没有,那么我会检索:

If there is nothing inside then I retrieve:

Notice: Undefined offset: 0 in /customers/8/9/9/testsite.agency/httpd.www/api/wp-content/themes/divi-child/functions.php on line 94

我希望它可以确定里面是否没有东西,而不会出现错误/通知.

I would like it so that it will determine if nothing is inside continue, without errors / notices.

我的代码:

// Response = to JSON decode this allows us to decode the large response
    $response = json_decode($json_data, true);

    // Using a foreach to access Nested Array
    foreach($response as $index => $car)
        {
            $car['BasicPrice'];
            $car['BodyStyle']['BodyStyle'];
            $car['Colour'];
            $car['EngineNumber'];
            $car['EngineSize'];
            $car['FuelType']['FuelType'];
            $car['HasServiceHistory'];

            // To access the images we have to access a nested array within a nested array.
            // This if statement stops the code reading empty car array and throwing an Undefined Index: 0

            if( isset($car['Images']) ) {
                    //it exists
                    echo    $car['Images'][0]['ImageURI'];
                    echo    $car['Images'][1]['ImageURI'];
                    echo    $car['Images'][2]['ImageURI'];
                    echo    $car['Images'][3]['ImageURI'];
                    echo    $car['Images'][4]['ImageURI'];
                    echo    $car['Images'][5]['ImageURI'];
                    echo    $car['Images'][6]['ImageURI'];
                    echo    $car['Images'][7]['ImageURI'];
                    echo    $car['Images'][8]['ImageURI'];
                    echo    $car['Images'][9]['ImageURI'];
                    echo    $car['Images'][10]['ImageURI'];
                    echo    $car['Images'][11]['ImageURI'];
                    echo    $car['Images'][12]['ImageURI'];
                    echo    $car['Images'][13]['ImageURI'];
                    echo    $car['Images'][14]['ImageURI'];
                    echo    $car['Images'][15]['ImageURI'];
                    echo    $car['Images'][16]['ImageURI'];
                    echo "<br>";echo "<br>";echo "<br>";

                    } else{
                        // some error messaage
                        return false;
                                                }   

            $car['IsNew'];
            $car['InternetPrice'];
            $car['IsReserved'];
            $car['Make']['Make'];
            $car['Model']['Model'];
            $car['Odometer'];
            $car['PhotoCount'];
            $car['PreviousOwners'];
            $car['RegistrationNumber'];
            $car['RetailPrice'];
            $car['Specification']['Doors'];
            $car['StockNumber'];
            $car['Transmission']['Transmission'];



    }

    // If Response ie. our json data is empty return false.
    if (!is_array($response) || empty($response)) {
    return false;
    }

var_dump($ response);一辆$ car中的一辆是:

A var_dump($response); of one $car is:

        array(82){  
           [  
              0
           ]   => array(42)   {  
              [  
                 "BasicPrice"
              ]      => float(4995.83)      [  
                 "BodyStyle"
              ]      => array(2)      {  
                 [  
                    "BodyStyle"
                 ]         => string(4) "3 DR"         [  
                    "BodyStyle_UID"
                 ]         => string(36) "4cf50fe2-8c3f-e611-80cb-0a94ef0355af"
              }      [  
                 "Colour"
              ]      => string(12) "Red 'n' Roll"      [  
                 "DaysInStock"
              ]      => int(1033)      [  
                 "DaysInStockGroup"
              ]      => int(1033)      [  
                 "Discount"
              ]      => float(0)      [  
                 "EngineNumber"
              ]      => string(15) "B12XER-19MV2339"      [  
                 "EngineSize"
              ]      => int(1229)      [  
                 "EstimatedDeliveryDate"
              ]      => string(19) "2016-11-04T00:00:00      " ["      FuelType"
           ]   => array(2)   {  
              [  
                 "FuelType"
              ]      => string(6) "Petrol"      [  
                 "FuelType_UID"
              ]      => string(36) "9cd0d601-bb1f-409d-b04d-4255ff47dc85"
           }   [  
              "HasServiceHistory"
           ]   => bool(false)   [  
              "Images"
           ]   => array(16)   {  
              [  
                 0
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(1)         [  
                    "Image_UID"
                 ]         => string(36) "2088e32e-d46a-42c2-8412-3802743bcc06"         [  
                    "ImageURI"
                 ]         => string(166) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=1&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 1
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(2)         [  
                    "Image_UID"
                 ]         => string(36) "590cdfa2-d791-4414-bbb4-e5fbe7a5ac80"         [  
                    "ImageURI"
                 ]         => string(166) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=2&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 2
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(3)         [  
                    "Image_UID"
                 ]         => string(36) "038674d1-f32e-40ac-90bf-fad4d3b25e7f"         [  
                    "ImageURI"
                 ]         => string(166) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=3&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 3
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(4)         [  
                    "Image_UID"
                 ]         => string(36) "9e4d36b0-7e9d-4159-9315-548e30835aa4"         [  
                    "ImageURI"
                 ]         => string(166) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=4&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 4
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(5)         [  
                    "Image_UID"
                 ]         => string(36) "c3ad8b52-df16-4925-b8f2-6434a1d3ece6"         [  
                    "ImageURI"
                 ]         => string(166) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=5&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 5
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(6)         [  
                    "Image_UID"
                 ]         => string(36) "b5e66c41-a76e-4cd2-a535-623715e19961"         [  
                    "ImageURI"
                 ]         => string(166) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=6&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 6
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(7)         [  
                    "Image_UID"
                 ]         => string(36) "6ce8cb63-4cee-4451-abd6-abc367d9f1d2"         [  
                    "ImageURI"
                 ]         => string(166) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=7&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 7
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(8)         [  
                    "Image_UID"
                 ]         => string(36) "7b5ecc82-b8ea-4af4-85d6-1ab13c527edf"         [  
                    "ImageURI"
                 ]         => string(166) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=8&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 8
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(9)         [  
                    "Image_UID"
                 ]         => string(36) "a1b2dae3-342f-4917-b7d8-6d9135bb8966"         [  
                    "ImageURI"
                 ]         => string(166) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=9&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 9
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(10)         [  
                    "Image_UID"
                 ]         => string(36) "a6e1fce8-7bf9-4570-898b-91aa368c889d"         [  
                    "ImageURI"
                 ]         => string(167) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=10&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 10
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(11)         [  
                    "Image_UID"
                 ]         => string(36) "0587afe6-4d95-4ce3-b571-0c1bc894516f"         [  
                    "ImageURI"
                 ]         => string(167) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=11&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 11
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(12)         [  
                    "Image_UID"
                 ]         => string(36) "5b4713c8-37c9-4702-937c-4938c95bbee9"         [  
                    "ImageURI"
                 ]         => string(167) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=12&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 12
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(13)         [  
                    "Image_UID"
                 ]         => string(36) "6c6a83d9-0782-42c6-a1fe-2d14272c7832"         [  
                    "ImageURI"
                 ]         => string(167) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=13&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 13
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(14)         [  
                    "Image_UID"
                 ]         => string(36) "6e8a2171-e85a-4afd-a4fb-e70eeab38d10"         [  
                    "ImageURI"
                 ]         => string(167) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=14&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 14
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(15)         [  
                    "Image_UID"
                 ]         => string(36) "f60e84ab-91bf-494d-9a54-0ad27615135a"         [  
                    "ImageURI"
                 ]         => string(167) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=15&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }      [  
                 15
              ]      => array(5)      {  
                 [  
                    "Entity_UID"
                 ]         => string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"         [  
                    "ImageNumber"
                 ]         => int(16)         [  
                    "Image_UID"
                 ]         => string(36) "bfe311ca-4a62-4518-b27f-4d1473386741"         [  
                    "ImageURI"
                 ]         => string(167) "https://vehiclestock-public.pinnacledms.net/ViewVehiclePhoto.aspx?BUID=a3db2a66-b4fb-4ac2-a78a-0f042aab50af&VUID=8be4d43d-e3a4-e611-80cf-0a94ef0355af&Rank=16&Width=960"         [  
                    "ImageWidth"
                 ]         => int(960)
              }
           }   [  
              "Interior"
           ]   => array(2)   {  
              [  
                 "Interior"
              ]      => string(0) ""      [  
                 "Interior_UID"
              ]      => string(36) "05f50fe2-8c3f-e611-80cb-0a94ef0355af"
           }   [  
              "IsNew"
           ]   => bool(false)   [  
              "InternetPrice"
           ]   => float(0)   [  
              "IsQualifying"
           ]   => bool(true)   [  
              "IsReserved"
           ]   => bool(false)   [  
              "Location"
           ]   => string(9) "Autospray"   [  
              "Make"
           ]   => array(3)   {  
              [  
                 "FranchiseModel"
              ]      => NULL      [  
                 "Make"
              ]      => string(8) "Vauxhall"      [  
                 "Make_UID"
              ]      => string(36) "ac84ccae-882d-e611-80ca-0a94ef0355af"
           }   [  
              "ManufacturerRecommendedRetailPrice"
           ]   => float(0)   [  
              "Model"
           ]   => array(3)   {  
              [  
                 "Make_UID"
              ]      => string(36) "ac84ccae-882d-e611-80ca-0a94ef0355af"      [  
                 "Model"
              ]      => string(4) "Adam"      [  
                 "Model_UID"
              ]      => string(36) "cb34d5c0-5c3f-e611-80cb-0a94ef0355af"
           }   [  
              "Odometer"
           ]   => int(13582)   [  
              "Options"
           ]   => array(0)   {  

           }   [  
              "OrganisationalUnit"
           ]   => array(6)   {  
              [  
                 "Address"
              ]      => array(7)      {  
                 [  
                    "Address1"
                 ]         => string(17) "Blackhouse Circle"         [  
                    "Address2"
                 ]         => string(28) "Blackhouse Industrial Estate"         [  
                    "Address3"
                 ]         => string(0) ""         [  
                    "Country"
                 ]         => NULL         [  
                    "County"
                 ]         => string(8) "Aberdeen"         [  
                    "PostCode"
                 ]         => string(8) "AB42 1BN"         [  
                    "PostTown"
                 ]         => string(9) "Peterhead"
              }      [  
                 "Description"
              ]      => string(22) "Gillanders Motors Ltd."      [  
                 "EmailAddress"
              ]      => string(22) "email@gillanders.co.uk"      [  
                 "OrganisationalUnit_UID"
              ]      => string(36) "a3db2a66-b4fb-4ac2-a78a-0f042aab50af"      [  
                 "ParentOrganisationalUnit_UID"
              ]      => string(36) "51a9312b-1462-4b7c-aee3-319d6d86ecec"      [  
                 "Telephone"
              ]      => string(12) "01779 479777"
           }   [  
              "PhotoCount"
           ]   => int(16)   [  
              "PhysicalLocation"
           ]   => array(5)   {  
              [  
                 "DealerCode"
              ]      => string(0) ""      [  
                 "Description"
              ]      => string(22) "Gillanders Motors Ltd."      [  
                 "LocationDescription"
              ]      => string(9) "Autospray"      [  
                 "OrganisationalUnit"
              ]      => array(6)      {  
                 [  
                    "Address"
                 ]         => array(7)         {  
                    [  
                       "Address1"
                    ]            => string(17) "Blackhouse Circle"            [  
                       "Address2"
                    ]            => string(28) "Blackhouse Industrial Estate"            [  
                       "Address3"
                    ]            => string(0) ""            [  
                       "Country"
                    ]            => NULL            [  
                       "County"
                    ]            => string(8) "Aberdeen"            [  
                       "PostCode"
                    ]            => string(8) "AB42 1BN"            [  
                       "PostTown"
                    ]            => string(9) "Peterhead"
                 }         [  
                    "Description"
                 ]         => string(22) "Gillanders Motors Ltd."         [  
                    "EmailAddress"
                 ]         => string(22) "email@gillanders.co.uk"         [  
                    "OrganisationalUnit_UID"
                 ]         => string(36) "a3db2a66-b4fb-4ac2-a78a-0f042aab50af"         [  
                    "ParentOrganisationalUnit_UID"
                 ]         => string(36) "51a9312b-1462-4b7c-aee3-319d6d86ecec"         [  
                    "Telephone"
                 ]         => string(12) "01779 479777"
              }      [  
                 "UID"
              ]      => string(36) "a3db2a66-b4fb-4ac2-a78a-0f042aab50af"
           }   [  
              "PreviousOwners"
           ]   => int(0)   [  
              "Profiles"
           ]   => array(1)   {  
              [  
                 0
              ]      => array(2)      {  
                 [  
                    "Description"
                 ]         => string(14) "Long Term Loan"         [  
                    "UID"
                 ]         => string(36) "fe8b7140-87e0-4784-88b1-d607865be492"
              }
           }   [  
              "RegistrationDate"
           ]   => string(19) "2016-10-31T00:00:00   " ["   RegistrationNumber"
        ]=> string(8) "SW66 EZH"[  
           "RetailPrice"
        ]=> float(5995)[  
           "Specification"
        ]=> array(3){  
           [  
              "Doors"
           ]   => int(0)   [  
              "Specification"
           ]   => string(3) "Jam"   [  
              "Specification_UID"
           ]   => string(36) "8795a7e0-e1a4-e611-80cf-0a94ef0355af"
        }[  
           "Status"
        ]=> int(0)[  
           "StockNumber"
        ]=> string(5) "U1211"[  
           "Transmission"
        ]=> array(2){  
           [  
              "Transmission"
           ]   => string(21) "5 Speed Manual Petrol"   [  
              "Transmission_UID"
           ]   => string(36) "707ad700-1318-4e57-88aa-6fb19e58f6d0"
        }[  
           "UnitOfDistance"
        ]=> int(0)[  
           "Vehicle_UID"
        ]=> string(36) "8be4d43d-e3a4-e611-80cf-0a94ef0355af"[  
           "VehicleCode"
        ]=> string(40) "VAAD12JAM3HPIM "[  
           "VehicleType"
        ]=> int(1)[  
           "VideoCount"
        ]=> int(1)[  
           "Videos"
        ]=> array(1){  
           [  
              0
           ]   => array(6)   {  
              [  
                 "Identifier"
              ]      => string(11) "GxobtgbP1yc"      [  
                 "UploadedDate"
              ]      => string(23) "2016-11-14T13:39:07.543      " ["      User"
           ]   => NULL   [  
              "User_UID"
           ]   => string(36) "ef891044-ce8a-489f-bddf-cea4511c3c52"   [  
              "Video_UID"
           ]   => string(36) "00000000-0000-0000-0000-000000000000"   [  
              "VideoURL"
           ]   => string(97) "https://www.youtube.com/embed/GxobtgbP1yc?showinfo=0&modestbranding=1&rel=0&autoplay=0&autohide=1"
        }
        }[  
           "VIN"
        ]=> string(17) "W0L0MAP08G6082024"
        }

推荐答案

您可以检查数组键是否存在

you can maybe check if array key exists

if(array_key_exists(0,$car['Images'])) {
 do stuff
}else{
 continue;
}

这篇关于注意:未定义的偏移量:NESTED ARRAY上的0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆