Count element in PHP
Description
The following code shows how to count element.
Example
<?php/* w w w. j av a 2 s .c o m*/
$xml = simplexml_load_file('test.xml');
?>
<!DOCTYPE html>
<html>
<body>
<?php
foreach ($xml->book as $book) {
echo '<h2>' . $book->title . '</h2>';
$num_authors = count($book->author);
echo '<p class="author">';
for ($i = 0; $i < $num_authors; $i++) {
echo $book->author[$i];
// If there's only one author, break out of the loop
if ($num_authors == 1) {
break;
} elseif ($i < ($num_authors - 2)) {
// If there are more than one authors left, use a comma
echo ', ';
} elseif ($i == ($num_authors - 2)) {
// Otherwise insert an ampersand
echo ' & ';
}
}
echo '</p>';
echo '<p class="publisher">' . $book->publisher . '</p>';
echo '<p class="publisher">ISBN: ' . $book['isbn13'] . '</p>';
echo '<p>' . $book->description . '</p>';
}
?>
</body>
</html>
The following code is for test.xml.
/*from w w w. j a v a2s . co m*/
<?xml version='1.0' encoding='utf-8'?>
<inventory>
<book isbn13='1'>
<title>PHP</title>
<author>Jack</author>
<publisher>Publisher 1</publisher>
<description>PHP Book</description>
</book>
<book isbn13='2'>
<title>XML</title>
<author>Jane</author>
<publisher>Publisher 2</publisher>
<description>XML Book</description>
</book>
</inventory>
The code above generates the following result.