开发者

Can I convert individual fields of a 'mysql_query' to arrays? [duplicate]

This question already has answers here: Transposing multidimensional arrays in PHP (12 answers) Closed 1 year ago.

Likely a remedial question, but in all my days as a 开发者_如何转开发PHP user I have yet to encounter an answer. Basically, is there any way to grab a single field of a "mysql_query" as an array? For instance say I have the following:

$query = "Select id,first_name,last_name FROM people";
$result = mysql_query($query);

Is there any way to grab each (id, first_name, last_name) as individual arrays without iterating through the recordset? Can I say something like:

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

As I said, in the past I've always simply built the arrays as needed, but an existing method would be handy.


mysql doesn't have that as a native function. you could always write your own..

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'];


I'm not sure why do you need this , but you can do it like this :

$resultArray = array();  
while($row = mysql_fetch_array($result)){
       $resultArray[] = array(
          "id" =>  $row['id'],
          "firstName"=>$row['first_name'],
          "lastName"=>$row['last_name']
      );
    }

Check if values are in :

print_r($resultArray);

Then you can foreach or to do the for loop on values.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜