CodeIgniter Forums

Full Version: foreach with different value results is correct but i got error message
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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.
isset or property_exists ?
(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 ;

(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.
(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
If you have error then use isset(). Looks like property_exists() was just bad idea. I wrote this as quick reply without testing.