strcmp() 没有按预期工作
strcmp() not working as expected
echo($menuVal['icon']);
/* if($menuVal['icon'] !== 'fa-dashboard' ){
$menuHTML .= '<span class="ico fa fa-fw fa-chevron-right"></span>';
}*/
$cont=strcmp($menuVal["icon"],"fa-dashboard");
echo($cont);
if((strcmp($menuVal["icon"],"fa-dashboard")) != 0 ){
$menuHTML .= '<span class="ico fa fa-fw fa-chevron-right"></span>';
}
在这段代码中,我尝试使用 php 打印图标,如果它的值不等于 fa-dashboard,我认为如果输入相等,strcmp
将产生输出零,但在此代码中,当两个字符串相等时,strcmp 将产生 243 的输出,并且当输入 243 而不是 0 时 if
条件有效。
我添加了下面获得的输出,我还检查了 $menuVal['icon']
的值以检查它打印的内容,
fa-dashboard 243fa-globe 768fa-puzzle-piece 3072fa-pie-chart
3072fa-gears 768fa-anchor -768
这段代码有什么错误吗?我该如何解决?
任何帮助将不胜感激.........!!!
您检查整个字符串是否等于 fa-dashboard 而不是。
如果 fa-dashboard 始终是第一项,您可以使用 strncmp 仅匹配前 n 个字符。
int strncmp ( string $str1 , string $str2 , int $len )
This function is similar to strcmp(), with the difference that you can specify the (upper limit of the) number of characters from each string to be used in the comparison.
echo($menuVal['icon']);
/* if($menuVal['icon'] !== 'fa-dashboard' ){
$menuHTML .= '<span class="ico fa fa-fw fa-chevron-right"></span>';
}*/
$cont=strcmp($menuVal["icon"],"fa-dashboard");
echo($cont);
if((strcmp($menuVal["icon"],"fa-dashboard")) != 0 ){
$menuHTML .= '<span class="ico fa fa-fw fa-chevron-right"></span>';
}
在这段代码中,我尝试使用 php 打印图标,如果它的值不等于 fa-dashboard,我认为如果输入相等,strcmp
将产生输出零,但在此代码中,当两个字符串相等时,strcmp 将产生 243 的输出,并且当输入 243 而不是 0 时 if
条件有效。
我添加了下面获得的输出,我还检查了 $menuVal['icon']
的值以检查它打印的内容,
fa-dashboard 243fa-globe 768fa-puzzle-piece 3072fa-pie-chart
3072fa-gears 768fa-anchor -768
这段代码有什么错误吗?我该如何解决? 任何帮助将不胜感激.........!!!
您检查整个字符串是否等于 fa-dashboard 而不是。
如果 fa-dashboard 始终是第一项,您可以使用 strncmp 仅匹配前 n 个字符。
int strncmp ( string $str1 , string $str2 , int $len )
This function is similar to strcmp(), with the difference that you can specify the (upper limit of the) number of characters from each string to be used in the comparison.