获取stdclass对象数组cat_id值?

时间:2018-04-24 07:11:46

标签: php arrays codeigniter

如何获取cat_id?

Array
    (
        [0] => stdClass Object
            (
                [id] => 17
                [res_id] => 10
                [cat_id] => 3
            )

        [1] => stdClass Object
            (
                [id] => 18
                [res_id] => 10
                [cat_id] => 4
            )

        [2] => stdClass Object
            (
                [id] => 52
                [res_id] => 19
                [cat_id] => 1
            )

        [3] => stdClass Object
            (
                [id] => 53
                [res_id] => 19
                [cat_id] => 3
            )

        [4] => stdClass Object
            (
                [id] => 54
                [res_id] => 19
                [cat_id] => 4
            )

我希望所有cat_id数组都stdClass Object

我怎么能得到这个?

任何人都可以帮助我如何检索cat_id?的值 感谢。

4 个答案:

答案 0 :(得分:1)

试试这个

$Your_array
foreach($Your_array AS $Cat){
   echo $Cat->cat_id;
}

答案 1 :(得分:0)

$array = array();
$object = new stdClass;
$object->id= "ID";
$object->res_id = "RES_ID";
$object->cat_id = "CAT_ID";
$array[] = $object;

访问对象属性:

echo $array[0]->cat_id;

您可以将0替换为index并在数组中进行迭代:

for($index=0;$index<count($array);$index++){
    if(isset($array[$index]->cat_id)){
        // Do something...
    }
}

答案 2 :(得分:0)

使用->语法访问PHP中的对象属性。要获取数组中每个项的cat_id属性,可以遍历数组以逐个获取每个项,并将对象的cat_id属性存储在新数组中,如下所示:

$cat_ids = array();
foreach($array as $item){
    $cat_ids[] = $item->cat_id;
}

print_r($cat_ids);

给出:

Array
(
    [0] => 3
    [1] => 4
    [2] => 1
    [3] => 3
    [4] => 4
)

如果您不需要所有cat_ids,只需要原始数组中特定对象的cat_ids,则可以使用

$array[2]->cat_id;

哪个会获得数组中第3项的cat_id属性。

答案 3 :(得分:0)

您可以使用array_map。例如,如果您的源数组是$array

$result = array_map(function($x){
    return $x->cat_id;
}, $array);

print_r($result);

那会给你:

Array
(
    [0] => 3
    [1] => 4
    [2] => 1
    [3] => 3
    [4] => 4
)

Demo