【发布时间】:2009-08-04 21:16:29
【问题描述】:
我有一个 mysql_query 结果,我在代码的不同部分循环了多次,每次都使用 mysql_data_seek( $result, 0 ) 重置到结果的开头。
我在这些结果上使用了 mysql_fetch_array,并且想从 $result 中删除一些特定的行。如果它是一个普通数组,基本上相当于 unset( $result[$row] )。有没有办法做到这一点?
示例代码:
$result = mysql_query( $sql );
$num_rows = mysql_num_rows( $result );
if( $num_rows ){
for( $a=0; $a < $num_rows; $a++ ){
$row = mysql_fetch_array( $result );
if( my_check_function( $row['test'] ){
// do stuff
} else {
// remove this row from $result
}
}
}
mysql_data_seek( $result, 0 );
我知道我可以简单地执行 unset( $row[$a] ) 来删除该特定行,但是在数据搜索之后,我会在下次循环结果时得到相同的原始结果行。
任何帮助将不胜感激。 ps - 不知道为什么 _ 在我的顶部文本中被删除并改为斜体,我试图修复它但它最终变成了粗体.. :)
【问题讨论】: