2012-06-15 46 views
0

例如说这是我的代码:PHP如何比较每个数组值与我指定的值?

$query = "SELECT * FROM ..."; 
$exec_query = mysql_query($query, $db_connect); 
$fetchdetails = mysql_fetch_array($exec_query); 

我使用的是if情况是这样的:

if ($fetchdetails['field_name'] == 3) { 
do something; 
} 

else { 
} 

但在这,只有1行从fetchdetails阵列相比。我能做些什么来比较数组中的每一行与3?我不想要任何OOP的解决方案,我想坚持使用传统编码。谢谢。

回答

4

你应该试试这个:

while($fetchdetails = mysql_fetch_array($exec_query)) { 
if ($fetchdetails['field_name'] == 3) { 
    do something; 
} 

else { 
} 

} 

这是因为,与while(...)条件,你会遍历所有DB(选择)记录。 只要mysql_fetch_array完成记录,循环将自动停止。

我会记得你,mysql_fetch_array

,如果没有更多的行返回字符串数组对应于提取行,或FALSE。 (从manual

这将允许“你”停止迭代过程。

+0

感谢这对我有用;) – PHPSrike

1

如果你的意思是你要到$ fetchdetails阵列的每一行比较,然后

foreach($fetchdetails as $index => $value) { 
    if($value == 3) { 
     // do something 
    } 
} 

应该这样做!如果您想遍历每个SQL值,请参阅其他答案。