Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何识别结果是数组还是关联数组_Php_Mysql - Fatal编程技术网

Php 如何识别结果是数组还是关联数组

Php 如何识别结果是数组还是关联数组,php,mysql,Php,Mysql,实际上,结果来自mysql_query(),它有时产生数组,有时产生关联数组,如何识别它。您实际上从mysqli_query()获得一个对象,该对象可以转换为带有mysqli_fetch_assoc($mysqli_obj)的关联数组或带有mysqli_fetch_数组($mysqli_obj)的数组 但要确定变量是否为关联数组,请执行以下操作: function isAssoc($obj) { if(is_object($obj)) { $array = get_obj

实际上,结果来自mysql_query(),它有时产生数组,有时产生关联数组,如何识别它。

您实际上从mysqli_query()获得一个对象,该对象可以转换为带有mysqli_fetch_assoc($mysqli_obj)的关联数组或带有mysqli_fetch_数组($mysqli_obj)的数组

但要确定变量是否为关联数组,请执行以下操作:

function isAssoc($obj) {
    if(is_object($obj)) {
        $array = get_object_vars($obj);
    }
    else {
        $array = $obj;
    }
    return (count(array_filter(array_keys($array), 'is_string'))) ? true : false;
}

为什么需要这样做?当我输入查询“show databases”时,它会在assoc数组中出现,当输入“select语句”时,它会在数组中出现,我的问题是如何处理结果。为什么要在同一个函数中尝试这样做?有一个函数来处理show数据库,还有一个函数来处理SELECTs。这很好,但是有没有其他方法可以通过相同的函数来处理它,如果可以的话。。use pdo as mysql方法已弃用我的结果是resource_id和array_键,array_filter需要参数作为array,如果传递$results=mysqli_query()的直接结果,则会收到警告,因为您传递的是一个对象。它从来不是数组。如果您试图直接传递一个对象,我将尝试查看是否有办法容纳它。我编辑了该函数以允许它接受对象。你可以再试一次。但我真的不认为有必要这样做,因为对象永远不会包含索引作为其属性名。那么,对于这个要求,你喜欢什么呢