PHP var 1 和 2 在总值不同时相等


PHP var 1 and 2 equal when total differend

$typeNow = 0;
while(...) {
if($typeNow == $menu["type"]) { echo '<p>'.$typeNow .' '.$menu["type"].'<i>Of</i></p>'; } else {  if(strlen($typeNow) > 1) { echo '<p><i>'.$tussenstuk.'</i></p>'; } }
                    $typeNow = $menu["type"];
                    echo '<p>'.$menu["val1"].'</p>';

输出:

0 appertiefOf Love bubbels
*** Gerookte zalmrolletjes van kruidenkaas en compotte van granny smith
*** Zuppa aroma di Amore
*** Love fish meets passion
*** Filet van pure liefde met roquefortsaus
*** framboise forever

输出2(其他页面):

0 voorgerechtOf
Noordzee vissoep
voorgerecht voorgerechtOf
Duo van meloen met zwarte woudham
***
Kalfswangetjes met porto en warme groentjes
hoofdgerecht hoofdgerechtOf
Schartongrolletjes met gerookte zalm & spinazie
***
Café glacé

奇怪的是$typeNow== $menu["type"]),其中第一个是0,第二个是appertief,但仍然认为这是相等的

不要将数字(尤其是零)与字符串进行比较。
看看这个:

var_dump( 0 == "php" );

它给true

您在这里,类型比较表:http://php.net/manual/en/types.comparisons.php

您可能需要将$typeNow更改为字符串并按===进行比较