-1

$djs_all_num = mysql_num_rows($djs_all_db); while($djs_all = mysql_fetch_array( $djs_all_db )) { if ($djs_all_num % "2") {

使用我的 if () 语句,这应该将行数减半,因此在后面的 else 中应该显示其余的。

这个对吗?

4

2 回答 2

6

它不会减半任何东西。它给出以 2 作为除数的余数。如果是偶数,则为 0,如果为奇数,则为 1。所以如果djs_all_num是奇数,就会进入if语句。你应该改写2。使用从 string 到 int 的隐式转换是令人困惑和不必要的。

请注意,这不会按行操作,因为左操作数是总行数,而不是行索引。要使用行索引,请执行以下操作:

$row_ind = 0;
$djs_all_num = mysql_num_rows($djs_all_db);
        while($djs_all = mysql_fetch_array( $djs_all_db )) {
        if ($row_ind++ % 2) {
于 2010-07-24T01:57:09.803 回答
1

% 运算符又名模数(编辑)确定是否存在余数(/编辑)。经常用于确定奇数/偶数行。

所以 1 % 2 等于0.5 1 (我想如果我的数学是正确的)。 2% 2 = 0。

希望有帮助。

编辑:抱歉做了一些本地测试,发现我的陈述不正确,修改为正确。

于 2010-07-24T01:57:26.150 回答