我在函数中使用以下代码:
if ( strlen( $year > 4 )) {
return "Position year must be a 4 digit year - The ".$year. " length is ".strlen($year);
}
我传入一个字符串“2014”,应该评估为false。由于某种原因,if语句的计算结果为true并执行返回。返回的字符串实际打印出2014年,strlen值($ year)的长度为4。为什么这不能正常工作?
答案 0 :(得分:2)
if ( strlen( $year) > 4 ) {
return "Position year must be a 4 digit year - The ".$year. " length is ".strlen($year);
}
你的圆括号位置错误。 您可以详细了解此功能here
答案 1 :(得分:0)
错误地放置了条件
if ( strlen( $year ) > 4 ) {
return "Position year must be a 4 digit year - The ".$year. " length is ".strlen($year);
}
strlen将返回函数的长度,并且与长度进行比较是您需要strlen( $year ) > 4
所以当$ year字符串长度大于4时返回true,否则返回false。
答案 2 :(得分:0)
正如您所看到的,您strlen
的使用是错误的,它应该是strlen($year) > 4
而不是strlen( $year > 4 )
。
后一个参数会将$year > 4
的值视为strlen
的参数,因此会返回bool(true)
,从而返回字符串。