使用php从xml数据源的html表中交替行颜色

I would like to alternate the row color from odd and even from the following xml with php.

    <?php
// load SimpleXML
$books = new SimpleXMLElement('books.xml', null, true);

echo <<<EOF
<table>
        <tr>
                <th>Title</th>
                <th>Author</th>
                <th>Publisher</th>
                <th>Price at Amazon.com</th>
                <th>ISBN</th>
        </tr>

EOF;
foreach($books as $book) // loop through our books
{
        echo <<<EOF
        <tr>
                <td>{$book->title}</td>
                <td>{$book->author}</td>
                <td>{$book->publisher}</td>
                <td>\${$book->amazon_price}</td>
                <td>{$book['isbn']}</td>
        </tr>

EOF;
}
echo '</table>';
?>

How would I do this with php considering my source is XML?

Add a counter, initialize it to zero, increment on each iteration and put different classes in tr depending on the value of $counter%2 (zero or not). (like ($counter%2)?'odd':'even').

Something like this:

for($i=0;$i<6;$i++)
  {
     if($i % 2)
  {
    // even
  }else{
    // odd
  }
}

Here's a simple way.

<?php
// load SimpleXML
$books = new SimpleXMLElement('books.xml', null, true);

echo <<<EOF
<table>
    <tr>
        <th>Title</th>
        <th>Author</th>
        <th>Publisher</th>
        <th>Price at Amazon.com</th>
        <th>ISBN</th>
</tr>

EOF;

$even = true;

foreach($books as $book) // loop through our books
{
    $class = $even ? 'even' : 'odd';
    $even = $even ? false : true;

    echo <<<EOF
    <tr class="$class">
            <td>{$book->title}</td>
            <td>{$book->author}</td>
            <td>{$book->publisher}</td>
            <td>\${$book->amazon_price}</td>
            <td>{$book['isbn']}</td>
    </tr>

EOF;
}
echo '</table>';
?>