Xpath Sum NAN-Result — изменить пустые ячейки на «0»

Я пытаюсь суммировать конкретные столбцы таблицы с помощью оценки Xpath. Это прекрасно работает, если все ячейки содержат числа. Но как только некоторые ячейки этого столбца станут пустыми, в результате я получу «NAN». Итак, мне действительно нужно решение, которое обрабатывает пустые ячейки <td></td> как число или «0».

Это мой текущий код, например для столбца 4:

$file = $DOCUMENT_ROOT. 'URL';
$doc = new DOMDocument;
// load the document
$doc->loadHTMLFile($file);
$xpath = new DOMXpath($doc);
print $xpath->evaluate('sum(//table[td/u/b/.="Contracts"]/tr[position() > 1]/td[4])');
echo ' mio $</td><td>';

Индекс 4 (год 1) работает. Мне нужно решение для индекса 5–9 (год 2–6), где в предстоящие годы следует ожидать пустых ячеек. Вы можете увидеть это и в исходном html-файле.

    <table>
<td align="center" colspan="1"><u><b>Contracts</b></u></td>
<tr><th>pos</th><th>player</th><th>age</th><th>year 1</th><th>year 2</th><th>year 3</th><th>year 4</th><th>year 5</th><th>year 6</th></tr>
<tr><td CLASS=tdp>PG</td><td CLASS=tdp><a href="IsaiahThomas18.htm">Isaiah Thomas                   </a></td><td>27</td><td>16.75</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>PG</td><td CLASS=tdp><a href="DerrickRose365.htm">Derrick Rose                    </a></td><td>28</td><td>1.03</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>SG</td><td CLASS=tdp><a href="DionWaiters14.htm">Dion Waiters                    </a></td><td>25</td><td>1.05</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>SG</td><td CLASS=tdp><a href="EricGordon17.htm">Eric Gordon                     </a></td><td>28</td><td>2.10</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>SF</td><td CLASS=tdp><a href="CarmeloAnthony90.htm">Carmelo Anthony                 </a></td><td>32</td><td>2.65</td><td>2.65</td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>SF</td><td CLASS=tdp><a href="TonyAllen25.htm">Tony Allen                      </a></td><td>35</td><td>10.50</td><td>10.50</td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>PF</td><td CLASS=tdp><a href="CodyZeller89.htm">Cody Zeller                     </a></td><td>24</td><td>2.65</td><td>2.65</td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>PF</td><td CLASS=tdp><a href="RichaunHolmes22.htm">Richaun Holmes                  </a></td><td>23</td><td>5.00</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp> C</td><td CLASS=tdp><a href="RudyGobert24.htm">Rudy Gobert                     </a></td><td>24</td><td>16.40</td><td>16.40</td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp> C</td><td CLASS=tdp><a href="JahlilOkafor19.htm">Jahlil Okafor                   </a></td><td>21</td><td>1.10</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>PG</td><td CLASS=tdp><a href="TyLawson99.htm">Ty Lawson                       </a></td><td>29</td><td>3.40</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>SG</td><td CLASS=tdp><a href="JustinHoliday20.htm">Justin Holiday                  </a></td><td>27</td><td>1.60</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td CLASS=tdp>PG</td><td CLASS=tdp><a href="RonniePrice23.htm">Ronnie Price                    </a></td><td>32</td><td>1.80</td><td></td><td></td><td></td><td></td><td></td></tr>
</table>

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]