Afshin
Afshin

Reputation: 2437

using implode for stdClass Objects in php

foreach($categories as $category)
{
    print_r($category);
}

The code above gives me the following result.

stdClass Object
(
    [category_Id] => 4
    [category_Title] => cat 4
)
stdClass Object
(
    [category_Id] => 7
    [category_Title] => cat 7
)
stdClass Object
(
    [category_Id] => 6
    [category_Title] => cat 6
)

how can I use implode(', ' ) to get the following result:

cat 4, cat 7, cat 6

I used it, but I got an error

Upvotes: 13

Views: 23731

Answers (3)

Magus
Magus

Reputation: 2992

You can cast the object as an array.

implode(',',(array) $categories); 

For more information: Convert a PHP object to an associative array

Upvotes: 28

Guilherme Sehn
Guilherme Sehn

Reputation: 6787

Here's an alternative solution using array_map:

$str = implode(', ', array_map(function($c) {
    return $c->category_Title;
}, $categories));

Upvotes: 24

GautamD31
GautamD31

Reputation: 28753

Try like

foreach($categories as $category)
{
    $new_arr[] = $category->category_Title;
}
$res_arr = implode(',',$new_arr);
print_r($res_arr);

Upvotes: 7

Related Questions