php从具有相同“id”数字的数组中获取值

时间:2013-03-13 20:06:33

标签: php arrays

我无法从数组中获取值

Array
(
    [0] => id
    [column_name] => id
)
Array
(
    [0] => businessType
    [column_name] => businessType
)
Array
(
    [0] => name
    [column_name] => name
)
Array
(
    [0] => city
    [column_name] => city
)
...

我从

获取这些值
mysql_query("
SELECT column_name 
FROM information_schema.columns 
WHERE table_name='businessUpgrade' 
")

在我的while循环中

while($row = mysql_fetch_array($result)){
   while($column = mysql_fetch_array($colName)){
     if($row[$i] == 1){
             //here comes the missing part
     }
     $i++;
   }
}

我尝试了不同的东西,但根据print_r,我需要得到的值具有相同数量的id(0)。有什么办法,我可以从这个数组中获取值。 我发现我应该用foreach来做,但不知怎的,我尝试的一切都失败了。

3 个答案:

答案 0 :(得分:1)

试试这个

$res = mysql_query("
SELECT column_name 
FROM information_schema.columns 
WHERE table_name='businessUpgrade' 
");

while($r = mysql_fetch_row($res)){
$arr[]=$r;
}

注意。不要使用mysql。请尝试使用mysqli或PDO。

答案 1 :(得分:1)

无需使用2 while循环。 $row数组是associative array,因此您可以使用...

$columns = array();
// {query}
while($row = mysql_fetch_array($result)) {
    $columns[] = $row['column_name'];
}

var_dump($columns);

您的$columns数组现在包含所有列的索引。它是一个零索引,因此可以使用以下方法单独提取:

echo $columns[0]; // The first column from the query "id"
echo $columns[2]; // The third column from the query "name"

您也可以根据需要循环播放此数组。

foreach ($columns as $id => $column) {
    if ($id == 0) {
        // Do something with the first column:
        echo $column;
    } elseif ($id == 2) {
        // Do something with the third column:
        echo $column;
    }
}

答案 2 :(得分:1)

用这个:

while($row = mysql_fetch_array($result)){
  while($column = mysql_fetch_assoc($colName)){
  if(($column['0'] == $row[$i]) && ($row[$i] == 1)){
         //something like this???
  }
}
  $i++;
}

你的问题有点凌乱XD .....我希望无论如何这都有帮助。