0

Ok... so the following works so far:

// Open connection
$ch = curl_init();

// Make the curl call
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$head = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);


$data = json_decode($head, true);

foreach($data['events'] as $key => $item) {

    // $event_id = $data['events'][$key]['eventId'];
    $event_id = $item['eventId'];

    // $name = $data['events'][$key]['name'];
    $name = $item['name'];

    // $desc = $data['events'][$key]['description'];
    $desc = $item['description'];



    echo "ID: $event_id<br> 
          NAME: $name<br>
          DESCRIPTION: $desc<br>
          <br>";
} 

However, I am trying multiple things and I am unable to capture "primaryImage" and "categories" data out of the arrays in the same JSON output and I am having difficulties with the syntax. Here is an example of the data:

{
  "eventId": 5183191,
  "name": "The Rhythm Rockets - FREE",
  "description": "Summer Concert Series - The Rhythm Rockets . .\nFREE. Look for a YELLOW balloon. Bring a chair. PLEASE BE ON TIME (6:00 PM!) TO SIT WITH THE GROUP. Allow time for street parking. Expect a crowd. Meetup at 6pm - Showtime is 7pm. Food, wine and beer will be on sale.\nIn case of inclement weather, concerts will be held indoors at the Lincoln Center, 935 Maple Avenue. For weather updates, call[masked] after 5:30 pm. If moved inside, there is no way we can sit together.",
  "primaryImage": {
    "smallImageUrl": "https://domainnamestorage.blob.core.windows.net/portalimages/portalimages/71021444-d72d-456c-a419-36b61ead5259.small.png",
    "mediumImageUrl": "https://domainnamestorage.blob.core.windows.net/portalimages/portalimages/71021444-d72d-456c-a419-36b61ead5259.medium.png",
    "largeImageUrl": "https://domainnamestorage.blob.core.windows.net/portalimages/portalimages/71021444-d72d-456c-a419-36b61ead5259.large.png"
  },
  "categories": [{
    "categoryId": 2,
    "parentCategoryId": null,
    "name": "Performing Arts"
  }, {
    "categoryId": 12,
    "parentCategoryId": null,
    "name": "Food & Drink"
  }, {
    "categoryId": 17,
    "parentCategoryId": 2,
    "name": "Music"
  }, {
    "categoryId": 75,
    "parentCategoryId": 12,
    "name": "Drinks"
  }, {
    "categoryId": 100,
    "parentCategoryId": 17,
    "name": "Concerts"
  }],
  "location": {
    "latitude": 41.792683,
    "longitude": -88.011765,
    "city": "Downers Grove",
    "state": "IL",
    "address": "1000 Grove St",
    "country": "United States",
    "locationName": "Fishel Park"
  },
  "instances": [{
    "startDateTime": "2018-08-21T18:00:00Z",
    "endDateTime": null,
    "hasTime": true,
    "allDay": false
  }],
  "price": {
    "lowerPrice": null,
    "upperPrice": null,
    "free": false,
    "description": null
  },
  "lastUpdatedDate": "2018-07-26T02:20:49.686Z",
  "popularity": null,
  "interest": 50,
  "links": [{
    "isSponsor": false,
    "name": "Meetup",
    "linkUrl": "https://www.meetup.com/Im-Not-Dead-Yet-50-plus/events/252406255/",
    "logoUrl": null
  }, {
    "isSponsor": true,
    "name": "I'm Not Dead Yet --- 50+ Meetup",
    "linkUrl": "http://Meetup.com/Im-Not-Dead-Yet-50-plus",
    "logoUrl": null
  }, {
    "isSponsor": true,
    "name": "I'm Not Dead Yet --- 50+ Meetup",
    "linkUrl": "http://Meetup.com/Im-Not-Dead-Yet-50-plus",
    "logoUrl": null
  }],
  "previousEventIds": [],
  "seriesStart": "2018-08-21T18:00:00Z",
  "seriesEnd": null,
  "url": "http://portal.domainname.com/m/FireVite#!/details/THE-RHYTHM-ROCKETS-FREE/5183191/2018-08-21T18",
  "handPicked": false,
  "customField": null,
  "contact": {
    "organization": null,
    "name": null,
    "email": null,
    "phone": null
  },
  "media": null
}

I would like to use data as PHP string variables that are found within elements such as "primaryImage", "categories", "location", etc.

Roy Scheffers
  • 3,832
  • 11
  • 31
  • 36
disruptekz
  • 11
  • 2

1 Answers1

0

Should be like this:

echo $item['primaryImage']->smallImageUrl;
Arif
  • 308
  • 2
  • 8