$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 中应该显示其余的。
这个对吗?
它不会减半任何东西。它给出以 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) {
% 运算符又名模数(编辑)确定是否存在余数(/编辑)。经常用于确定奇数/偶数行。
所以 1 % 2 等于0.5 1 (我想如果我的数学是正确的)。 2% 2 = 0。
希望有帮助。
编辑:抱歉做了一些本地测试,发现我的陈述不正确,修改为正确。