Php 我可以转换';mysql#u查询';到阵列?
这可能是一个补救问题,但在我作为PHP用户的所有日子里,我还没有遇到一个答案。基本上,有没有办法将“mysql_查询”的单个字段作为数组抓取?例如,假设我有以下几点: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_
$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是否有本机机制。这就是全部。谢谢。是的,这就是我一直在做的。然而,唯一的区别是,我一次只关注一个字段,因此将函数设置为只处理一个字段(而不是一次获取所有字段)。是的,这基本上就是我一直在做的。然而,唯一的区别是,我一次只关注一个字段,因此将函数设置为只处理一个字段(而不是一次获取所有字段)。