Welcome Guest, Not a member yet? Register   Sign In
foreach with different value results is correct but i got error message
#1

(This post was last modified: 10-03-2018, 11:16 AM by DELE.)

Help me please.

Results from print_r($response->results)
Code:
[13] => stdClass Object ( [id] => 738573 [title] => Operation Finale )
[14] => stdClass Object ( [id] => 442249 [title] => The First Purge )
[15] => stdClass Object ( [id] => 79696 [name] => Manifest )

my view
Code:
<? foreach ($response->results as $v){
    $retVal = ($v->title) ? $v->title : $v->name ;
    echo $retval;
<? } ?>

If i use code above, results is correct but i get error message: Undefined property: stdClass::$title.
i know that is uncorrect because foreach for array [15] is false (not results).

how i can fix it.
Reply
#2

isset or property_exists ?
Reply
#3

(10-03-2018, 11:08 AM)DELE Wrote: Help me please.

Results from print_r($response->results)
Code:
[13] => stdClass Object ( [id] => 738573 [title] => Operation Finale )
[14] => stdClass Object ( [id] => 442249 [title] => The First Purge )
[15] => stdClass Object ( [id] => 79696 [name] => Manifest )

my view
Code:
<? foreach ($response->results as $v){
    $retVal = ($v->title) ? $v->title : $v->name ;
    echo $retval;
<? } ?>

If i use code above, results is correct but i get error message: Undefined property: stdClass::$title.
i know that is uncorrect because foreach for array [15] is false (not results).

how i can fix it.

If you are completely sure that $v will always have a "name" property if there is no "title" then try this.

PHP Code:
foreach ($response->results as $v){
 
   echo  isset($v->title) ? $v->title $v->name ;

Reply
#4

(10-03-2018, 04:22 PM)dave friend Wrote:
(10-03-2018, 11:08 AM)DELE Wrote: Help me please.

Results from print_r($response->results)
Code:
[13] => stdClass Object ( [id] => 738573 [title] => Operation Finale )
[14] => stdClass Object ( [id] => 442249 [title] => The First Purge )
[15] => stdClass Object ( [id] => 79696 [name] => Manifest )

my view
Code:
<? foreach ($response->results as $v){
    $retVal = ($v->title) ? $v->title : $v->name ;
    echo $retval;
<? } ?>

If i use code above, results is correct but i get error message: Undefined property: stdClass::$title.
i know that is uncorrect because foreach for array [15] is false (not results).

how i can fix it.

If you are completely sure that $v will always have a "name" property if there is no "title" then try this.

PHP Code:
foreach ($response->results as $v){
 
   echo  isset($v->title) ? $v->title $v->name ;


[SOLVED]

Thank you master.
Reply
#5

(10-03-2018, 12:08 PM)Piotr Wrote: isset or property_exists ?

for now i use isset. because if i use property_exists there is still an error message.

can you give me an example of using property_exists
Reply
#6

If you have error then use isset(). Looks like property_exists() was just bad idea. I wrote this as quick reply without testing.
Reply




Theme © iAndrew 2016 - Forum software by © MyBB