有谁知道为什么
print "$str is " , ispalindrome($str) ? "" : " not" , " a palindrome\n"
Run Code Online (Sandbox Code Playgroud)
打印"女士是回文"
但
print "$str is " . ispalindrome($str) ? "" : " not" . " a palindrome\n"
Run Code Online (Sandbox Code Playgroud)
打印"1"?
jwo*_*der 19
条件运算符(? :)的优先级高于逗号,但低于句点.因此,第一行被解析为:
print("$str is " , (ispalindrome($str) ? "" : " not"), " a palindrome\n")
Run Code Online (Sandbox Code Playgroud)
而第二个被解析为:
print(("$str is " . ispalindrome($str)) ? "" : (" not" . " a palindrome\n"))
Run Code Online (Sandbox Code Playgroud)
后一行实际上应该打印"",而不是"1"; 实际上你得到的是什么?