Avatar billede htx98i17 Professor
30. juli 2017 - 22:08 Der er 7 kommentarer og
2 løsninger

array i object?

Jeg er igen ude på det dybe.

Jeg har i nedenståede nogle arrays. ik?
Jeg skal egentlig bare bruge data (number,streetname, etc) fra det første array.

Hvad skal jeg gøre i PHP for at få fingrene i de data? en eller anden løkke, men hvordan?


Array
(
    [0] => stdClass Object
        (
            [Number] => 96502
            [CompanyName] => Redoffice Kontorsupermarked
            [Streetname] => Sønderbrogade 27
            [Streetname2] => Pakkeshop: 96502
            [ZipCode] => 8700
            [CityName] => Horsens
            [CountryCode] => 008
            [CountryCodeISO3166A2] => DK
            [Telephone] => -
            [Longitude] => 9.84203
            [Latitude] => 55.8588
            [DistanceMetersAsTheCrowFlies] => 994
            [OpeningHours] => stdClass Object
                (
                    [Weekday] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [day] => Monday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 08:30
                                            [To] => 17:30
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [1] => stdClass Object
                                (
                                    [day] => Tuesday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 08:30
                                            [To] => 17:30
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [2] => stdClass Object
                                (
                                    [day] => Wednesday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 08:30
                                            [To] => 17:30
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [3] => stdClass Object
                                (
                                    [day] => Thursday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 08:30
                                            [To] => 17:30
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [4] => stdClass Object
                                (
                                    [day] => Friday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 08:30
                                            [To] => 17:30
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [5] => stdClass Object
                                (
                                    [day] => Saturday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 09:00
                                            [To] => 13:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                        )

                )

        )

    [1] => stdClass Object
        (
            [Number] => 97012
            [CompanyName] => Bilka ( Information)
            [Streetname] => Høegh Guldbergs Gade 10
            [Streetname2] => Pakkeshop: 97012
            [ZipCode] => 8700
            [CityName] => Horsens
            [CountryCode] => 008
            [CountryCodeISO3166A2] => DK
            [Telephone] => -
            [Longitude] => 9.8542
            [Latitude] => 55.8591
            [DistanceMetersAsTheCrowFlies] => 1371
            [OpeningHours] => stdClass Object
                (
                    [Weekday] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [day] => Monday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 06:00
                                            [To] => 24:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [1] => stdClass Object
                                (
                                    [day] => Tuesday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 06:00
                                            [To] => 24:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [2] => stdClass Object
                                (
                                    [day] => Wednesday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 06:00
                                            [To] => 24:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [3] => stdClass Object
                                (
                                    [day] => Thursday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 06:00
                                            [To] => 24:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [4] => stdClass Object
                                (
                                    [day] => Friday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 06:00
                                            [To] => 24:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [5] => stdClass Object
                                (
                                    [day] => Saturday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 06:00
                                            [To] => 24:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [6] => stdClass Object
                                (
                                    [day] => Sunday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 06:00
                                            [To] => 24:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                        )

                )

        )

    [2] => stdClass Object
        (
            [Number] => 95484
            [CompanyName] => OK Plus Torsted
            [Streetname] => Vejlevej 82
            [Streetname2] => Pakkeshop: 95484
            [ZipCode] => 8700
            [CityName] => Horsens
            [CountryCode] => 008
            [CountryCodeISO3166A2] => DK
            [Telephone] => -
            [Longitude] => 9.8205
            [Latitude] => 55.8435
            [DistanceMetersAsTheCrowFlies] => 1391
            [OpeningHours] => stdClass Object
                (
                    [Weekday] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [day] => Monday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 05:30
                                            [To] => 22:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [1] => stdClass Object
                                (
                                    [day] => Tuesday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 05:30
                                            [To] => 22:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [2] => stdClass Object
                                (
                                    [day] => Wednesday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 05:30
                                            [To] => 22:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [3] => stdClass Object
                                (
                                    [day] => Thursday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 05:30
                                            [To] => 22:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [4] => stdClass Object
                                (
                                    [day] => Friday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 05:30
                                            [To] => 22:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [5] => stdClass Object
                                (
                                    [day] => Saturday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 07:00
                                            [To] => 22:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                            [6] => stdClass Object
                                (
                                    [day] => Sunday
                                    [openAt] => stdClass Object
                                        (
                                            [From] => 07:00
                                            [To] => 22:00
                                        )

                                    [breaks] => stdClass Object
                                        (
                                        )

                                )

                        )

                )

        )

)
Avatar billede htx98i17 Professor
30. juli 2017 - 22:14 #1
Jeg får ovenstående således:

$arr_shop = $data->SearchNearestParcelShopsResult->parcelshops->PakkeshopData;
       
        echo "<pre>";
            print_r($arr_shop);
        echo "</pre>";

Hjælper det noget eller skal I bruge mere kode?
Avatar billede arne_v Ekspert
30. juli 2017 - 22:55 #2
$arr_shop[0]->Streetname

?
Avatar billede htx98i17 Professor
31. juli 2017 - 07:43 #3
Men hvilken løkke kan fungere til det?
Avatar billede acore Ekspert
31. juli 2017 - 07:59 #4
foreach($arr_shop[0] as $key => $value)
{
    echo($key." => ".$value."\n");
}

...altså hvis en iterator er implementeret i klassen - ellers virker det ikke.

ellers

$vars = $arr_shop[0];
foreach($vars as $key => $value)
{
    echo($key." => ".$value."\n");
}
Avatar billede htx98i17 Professor
31. juli 2017 - 08:01 #5
Iterator? :-)
Avatar billede htx98i17 Professor
31. juli 2017 - 08:05 #6
Og hvad så hvis jeg gerne vil have alle shops i løkken? altså også $arr_shop[1-2] ?
Avatar billede acore Ekspert
31. juli 2017 - 08:16 #7
Omkring iterator:
Se http://php.net/manual/en/language.oop5.iterations.php. En iterator er noget kode i din class, der fortæller dine properties skal løbes igennem.
Avatar billede acore Ekspert
31. juli 2017 - 08:17 #8
Alle shops:
foreach($arr_shop as $shop)
{
  foreach($shop as $key => $value)
  {
      echo($key." => ".$value."\n");
  }
}
Avatar billede acore Ekspert
31. juli 2017 - 10:00 #9
Der manglede et ord i #7:
...der fortæller HVORDAN dine properties skal løbes igennem
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester