PHP - Extracting a property from an array of objects

前端 未结 10 1001
时光取名叫无心
时光取名叫无心 2020-12-02 05:16

I\'ve got an array of cats objects:

$cats = Array
    (
        [0] => stdClass Object
            (
                [id] => 15
            ),
                 


        
10条回答
  •  情书的邮戳
    2020-12-02 05:28

    CODE

     15);
    $cats[] = (object) array('id' => 18);
    $cats[] = (object) array('id' => 23);
    
    function extract_ids($array = array())
    {
        $ids = array();
        foreach ($array as $object) {
            $ids[] = $object->id;
        }
        return $ids;
    }
    
    $cat_ids = extract_ids($cats);
    var_dump($cats);
    var_dump($cat_ids);
    
    ?>
    

    OUTPUT

    # var_dump($cats);
    array(3) {
      [0]=>
      object(stdClass)#1 (1) {
        ["id"]=>
        int(15)
      }
      [1]=>
      object(stdClass)#2 (1) {
        ["id"]=>
        int(18)
      }
      [2]=>
      object(stdClass)#3 (1) {
        ["id"]=>
        int(23)
      }
    }
    
    # var_dump($cat_ids);
    array(3) {
      [0]=>
      int(15)
      [1]=>
      int(18)
      [2]=>
      int(23)
    }
    

    I know its using a loop, but it's the simplest way to do it! And using a function it still ends up on a single line.

提交回复
热议问题