PHP比较循环中的数组键

时间:2012-09-11 15:56:57

标签: php mysql

我有一个像下面这样的while循环。我想总结数据库中的所有字段,但忽略了一些。这些被称为id,summary和diff。

我已在下面设置了我认为我需要的内容,但不知道如何正确地将当前密钥与这些字段名称进行比较。

$sql = 'SELECT * FROM table';
$result = mysql_query($sql)
while ($row = mysql_fetch_array($result)){
//DOES KEY = an ignore field name?

//If No 
$i++
}

3 个答案:

答案 0 :(得分:0)

您可以从查询中排除相关内容:

SELECT * FROM table WHERE `key` NOT IN ('id','summary','diff')

或者,您可以在PHP中使用if语句:

if($row['key'] == 'id' || $row['key'] == 'summary' || $row['key'] == 'diff') continue;

答案 1 :(得分:0)

使用in_arrayif(in_array($row[i], $values)您必须在行中执行循环才能搜索每列。只需构建一个包含您要搜索的所有字段的数组

答案 2 :(得分:0)

$ignoreTheseColumns = array("id", "summary", "diff");
$sum = 0;
$sql = 'SELECT * FROM table';
$result = mysql_query($sql)
while ($row = mysql_fetch_array($result)){
    foreach($row as $key=>$value)
    {
        //DOES KEY = an ignore field name?
        if(!in_array($key, $ignoreTheseColumns))
        {
            $sum+= $value
        }
}