Php 函数需要返回数组而不是对象有什么区别

Php 函数需要返回数组而不是对象有什么区别,php,mysql,Php,Mysql,我对我在一个数组上创建的一个函数感到有些困惑,我得到了正确的结果数组,而另一个函数的返回结果是object 使用该函数,结果是数组: public static function find_user_by_id ($user_id) { $result = self::find_this_query("SELECT * from users WHERE id = $user_id LIMIT 1"); $found_user_query_result =

我对我在一个数组上创建的一个函数感到有些困惑,我得到了正确的结果数组,而另一个函数的返回结果是object

使用该函数,结果是数组:

public static function find_user_by_id ($user_id)
    {
        $result = self::find_this_query("SELECT * from users WHERE id = $user_id  LIMIT 1");
        $found_user_query_result = mysqli_fetch_array($result);

        return $found_user_query_result;
    }
但当我创建一个新函数时,如下所示:

    public static function find_user_by_id_new ($user_id)
    {

        $result_array = self::find_this_query("SELECT * from users WHERE id = $user_id  LIMIT 1");

        if (!empty($result_array)){
            $first_item = array_shift($result_array);
            return $first_item;
        }
        else{

            return false;
        }
    }
返回是对象吗


我做了什么不同而没有得到相同的结果?

第一个是调用
mysqli\u fetch\u array()
,它以数组的形式返回一行结果。第二个没有调用它。我知道,但是使用array_shift,我用它删除了数组的第一个元素,并返回了删除的元素的值。是的,我读到的所有内容都表明,如果使用
Traversable
接口来
mysqli_result
它应该返回关联数组,而不是对象。我不知道你为什么会有东西。询问如何使其返回对象而不是数组,答案是不能。所以你看到的不应该发生。