Php 我可以转换';mysql#u查询';到阵列?

Php 我可以转换';mysql#u查询';到阵列?,php,mysql,arrays,Php,Mysql,Arrays,这可能是一个补救问题,但在我作为PHP用户的所有日子里,我还没有遇到一个答案。基本上,有没有办法将“mysql_查询”的单个字段作为数组抓取?例如,假设我有以下几点: $query = "Select id,first_name,last_name FROM people"; $result = mysql_query($query); 是否有任何方法可以在不遍历记录集的情况下将每个(id、first_name、last_name)作为单个数组抓取?我可以说: $ids = field_to_

这可能是一个补救问题,但在我作为PHP用户的所有日子里,我还没有遇到一个答案。基本上,有没有办法将“mysql_查询”的单个字段作为数组抓取?例如,假设我有以下几点:

$query = "Select id,first_name,last_name FROM people";
$result = mysql_query($query);
是否有任何方法可以在不遍历记录集的情况下将每个(id、first_name、last_name)作为单个数组抓取?我可以说:

$ids = field_to_array($result['id']);
$first_names = field_to_array($result['first_name']);
$last_names = field_to_array($result['last_name']);

正如我所说,在过去,我总是根据需要简单地构建阵列,但是现有的方法会很方便。

我不确定您为什么需要这个,但您可以这样做:

$resultArray = array();  
while($row = mysql_fetch_array($result)){
       $resultArray[] = array(
          "id" =>  $row['id'],
          "firstName"=>$row['first_name'],
          "lastName"=>$row['last_name']
      );
    }
检查值是否位于:

print_r($resultArray);

然后您可以foreach或对值执行for循环。

我不确定您为什么需要这个,但您可以这样做:

$resultArray = array();  
while($row = mysql_fetch_array($result)){
       $resultArray[] = array(
          "id" =>  $row['id'],
          "firstName"=>$row['first_name'],
          "lastName"=>$row['last_name']
      );
    }
检查值是否位于:

print_r($resultArray);

然后您可以使用foreach或对值执行for循环。

mysql没有将其作为本机函数。你可以自己写

function mysql_convert_cols($dataset) {
    foreach ($dataset as $row => $values) {
        foreach ($values as $column => $value) {
            $return[$$column][$row] = $value;
        }
    }
    return($return);
}

$resultConverted = mysql_convert_cols($result);
$id=$resultConverted['id'];
$firstName=$resultConverted['firstName'];

mysql没有将其作为本机函数。你可以自己写

function mysql_convert_cols($dataset) {
    foreach ($dataset as $row => $values) {
        foreach ($values as $column => $value) {
            $return[$$column][$row] = $value;
        }
    }
    return($return);
}

$resultConverted = mysql_convert_cols($result);
$id=$resultConverted['id'];
$firstName=$resultConverted['firstName'];

您的意思是,要将网格旋转,以便
$result['id']
包含(例如)结果集中的50个id?您希望整个列作为一个数组?而不迭代结果集?如果你不点击返回的每一行,你怎么能填充任何数组,更不用说换位数组了?@Pekka,McKay:是的,这正是我想要做的。正如我所说的,我只是简单地遍历记录集。我希望PHP有一个本机方法来做这样的事情。@Xepoch:是的,当然有一些方法必须这样做,我只是好奇PHP是否有本机机制。这就是全部。谢谢。你的意思是,将网格翻转过来,以便
$result['id']
包含,比如,结果集中的50个id?是否希望整个列作为一个数组?而不遍历结果集?如果你不点击返回的每一行,你怎么能填充任何数组,更不用说换位数组了?@Pekka,McKay:是的,这正是我想要做的。正如我所说的,我只是简单地遍历记录集。我希望PHP有一个本机方法来做这样的事情。@Xepoch:是的,当然有一些方法必须这样做,我只是好奇PHP是否有本机机制。这就是全部。谢谢。是的,这就是我一直在做的。然而,唯一的区别是,我一次只关注一个字段,因此将函数设置为只处理一个字段(而不是一次获取所有字段)。是的,这基本上就是我一直在做的。然而,唯一的区别是,我一次只关注一个字段,因此将函数设置为只处理一个字段(而不是一次获取所有字段)。