Php 函数需要返回数组而不是对象有什么区别
我对我在一个数组上创建的一个函数感到有些困惑,我得到了正确的结果数组,而另一个函数的返回结果是object 使用该函数,结果是数组: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 =
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
它应该返回关联数组,而不是对象。我不知道你为什么会有东西。询问如何使其返回对象而不是数组,答案是不能。所以你看到的不应该发生。