Re: how to say "inverse your value" (to a boolean)?

From: Date: Tue, 11 Aug 2009 04:09:46 +0000
Subject: Re: how to say "inverse your value" (to a boolean)?
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-296602@lists.php.net to get a copy of this message
Daevid Vincent wrote:
NO! For the love of God and all that is holy, don't do that accumulator / mod "hack". That's sooooo 1980's. And why make the CPU do all that math for every row... Just do this. It's quick and simple: CSS: .dataRow1 { background-color: #DFDFDF; } .dataRow2 { background-color: #FFFFFF; } foreach ($foo_array as $foo) { ?><tr class="<?= ($dr = !$dr) ? "dataRow1" : "dataRow2" ?>"><td><?= $foo ?></td></tr><?php
Wow, were to start with all the problems in the above code: 1. Short tags? 2. Not using echo or print. You actually recommend breaking in/out of php? 3. Using uninitialized variables (I run with the E_ALL crowd) 4. Using the <tr class=''> and not the <td class=''>... Hmmm
} No need to initialize $dr as by default PHP will make it a boolean "false", then each itteration, it will toggle true/false and substitute the CSS class
-----Original Message----- From: Jim Lucas [mailto:lists@cmsws.com] Sent: Monday, August 10, 2009 4:03 PM To: John Butler Cc: PHP-General List Subject: Re: [PHP] how to say "inverse your value" (to a boolean)? John Butler wrote:
quick Q: I have this inside a foreach{} that I want to alternate
between on and
off so I can alternate the background-color of my <tr>'s. $tableRowBGcolorBoolCounter != $tableRowBGcolorBoolCounter;
//-boolean
on and off I am looking thru' docs and books, but can't remember (nor
find now) in
PHP how to say "inverse your value" (to a boolean). ? TIA! -G
<?php $arr = range(1, 10); $i = 0; foreach ( $arr AS $row ) { $row_color = ( ( $i++ % 2 ) ? 'green' : 'red'); echo $row_color; } ?>
another (neat|strange)+ way I use the above is like so <style> .rowColor0 { background: #FFFFFF; } .rowColor1, .rowColor3 { background: #EEEEEE; } .rowColor2 { background: #DDDDDD; } </style> <?php $arr = range(1, 10); $i = 0; foreach ( $arr AS $row ) { echo '<tr><td class="rowColor'.( $i++ % 4 ).'"'>'.$row.'</td></tr>'; } ?>
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
-- Jim Lucas "Some men are born to greatness, some achieve greatness, and some have greatness thrust upon them." Twelfth Night, Act II, Scene V by William Shakespeare

« previous php.general (#296602) next »