调试字符串比较时我真的很奇怪。 从函数生成的链接(Magento getCategoryUrl()) 但无法将其与其打印的#34;相匹配。版本;
我尝试了所有可能的字符串比较选项,并转义原始字符串。最后,使用 strpos 我发现问题出在第一个" h"或之前的东西。
$menu_link = $this->getMenuLink($cat_id)
echo $menu_link; // https://example.com/cat_1
if($menu_link == "https://example.com/cat_1"){...} // false
if($menu_link === "https://example.com/cat_1"){...} // false
if("https://example.com/cat_1" == $menu_link){...} // false
if(strcmp( $menu_link , "https://example.com/cat_1") == 0){...} // false
if(strcasecmp( $menu_link , "https://example.com/cat_1") == 0){...} // false
//Sanity Check ...
if("https://example.com/cat_1" == "https://example.com/cat_1"){...} //true..
$menu_link = "". trim($menu_link); // no effect
if($menu_link === "https://example.com/cat_1"){...} // false
if(strpos( $menu_link , "https://example.com/cat_1") ){...} //false
// ONLY THIS WORKS ?!
if(strpos( $menu_link , "ttps://example.com/cat_1") ){...} //true
仍然无法解释为什么会这样。
更新
正如@u_mulder建议我尝试了var_dump,gives string(51) ...
但是长度不正确,还有9个额外的字符。
我找不到任何方法来打印它们。
答案 0 :(得分:2)
$menu_link
,其他地方是$meny_link
:)