从while循环中的两个数组元素创建和数组索引和值

时间:2011-08-03 14:16:32

标签: php

while($info5 = mysql_fetch_array($result)){
        $namelist[] = $info5["name"];
        $idlist[] = $info5["id"]    
    }

我想要一个数组,其中包含数组idlist的条目作为索引,数组名称列表的条目为其值。

有一个简短的方法吗?

4 个答案:

答案 0 :(得分:2)

像这样,如果我理解你的要求。使用$info['id']作为累积数组$namelist的数组键(或者您决定称之为的任何数组)

while($info5 = mysql_fetch_array($result)){
    $namelist[$info['id']] = $info5["name"];
}

答案 1 :(得分:1)

我不确定我理解你的问题,但可能这样的事情应该没问题。

while($info5 = mysql_fetch_array($result)){
    $values[$info5['id']] = $info5;
}

答案 2 :(得分:0)

$result = array();
while($info5 = mysql_fetch_array($result))
{
    $id = $info5['id'];
    $name = $info5['name'];

    $result[$id] = $name;
}

如果我理解正确的话,这应该给出你想要的输出数组$result

答案 3 :(得分:0)

只要数组具有相同数量的值,您就可以使用array_combine

$result = false;
if (count($idlist) == count($namelist))
  $result = array_combine($idlist, $namelist);

查看文档:{​​{3}}

但是,我也想知道你为什么不在while循环中这样做:

$values = array();
$namelist = array();
$idlist = array();
while($info5 = mysql_fetch_array($result)){
   $namelist[] = $info5["name"];
   $idlist[] = $info5["id"]    
   // this is the combined array you want?
   $values[$info5["id"]] = $info5["name"];
}