2

Here I have an output from a website using Soap

stdClass Object 
( 
  [page] => 0 
  [items] => 3 
  [total] => 3 
  [saleItems] => stdClass Object 
  (
    [saleItem] => Array 
    (
      [0] => stdClass Object 
      ( 
        [reviewState] => open 
        [trackingDate] => 2011-11-03T01:06:43.547+01:00 
        [modifiedDate] => 2011-11-03T01:06:43.677+01:00 
        [clickDate] => 2011-10-30T22:57:57.383+01:00 
        [adspace] => stdClass Object 
        (
          [_] => Beslist.nl [id] => 1437603
        ) 
        [admedium] => stdClass Object 
        (
          [_] => 001. Program logo
          [id] => 535098
        ) 
        [program] => stdClass Object 
        (
          [_] => Zavvi NL
          [id] => 8991
        ) 
        [clickId] => 1565847253976339456 
        [clickInId] => 0 
        [amount] => 40.45 
        [commission] => 2.83 
        [currency] => EUR 
        [gpps] => stdClass Object 
        (
          [gpp] => Array 
          (
            [0] => stdClass Object 
            (
              [_] => shoplink 
              [id] => zpar0 
            ) 
          ) 
        ) 
        [trackingCategory] => stdClass Object 
        (
          [_] => Default
          [id] => 45181
        ) 
        [id] => 46a4f84a-ba9a-45b3-af86-da5f3ec29648 
      )
    )
  )
)

I want to have the data (with a foreach loop) from program, commission and gpp->_. I can get the data from program and commission like this:

foreach ($sales->saleItems->saleItem as $sale) {
  $programma    = $sale->program->_;
  $commissie    = $sale->commission;
}

Works like a charm. However I can't get the data from the gpp->_ (want to have shoplink as result). I currently have:

foreach ($sales->saleItems->saleItem->gpps->gpp as $tracking) {
  echo $tracking->_;
}

I get the error "Trying to get property of non-object". I've tried lots if variations and can't get it to work. Think I'm really close. Anyone has a solution?

1 Answer 1

1

This should work

   foreach ($sales->saleItems->saleItem as $sale) {
        foreach($sale->gpps->gpp as $tracking) {
            echo $tracking->_;
    }

As saleItem is an array, you won't be able to use chaining on it.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.