为什么strlen不工作?

时间:2011-04-04 02:05:31

标签: php strlen

strlen($_POST["link"]) > 5 ? $link = $_POST["link"] : $errormsg .= "Please enter a link for the article.<br />";
strlen($_POST["img_link"]) > 5 ? $img_link = $_POST["img_link"] : $errormsg .= "Please enter a image link for the article.<br />";
echo $errormsg;

无论输入是什么,错误消息始终为空。

2 个答案:

答案 0 :(得分:1)

试试这个:

strlen($_POST["link"]) > 5 ? ($link = $_POST["link"]) : ($errormsg .= "Please enter a link for the article.<br />");
strlen($_POST["img_link"]) > 5 ? ($img_link = $_POST["img_link"]) : ($errormsg .= "Please enter a image link for the article.<br />");
echo $errormsg;

三元运算符has a higher precedence而不是赋值运算符。

答案 1 :(得分:1)

您正在使用三元运算符,但与此同时,您正在使用错误消息制作意大利面。不这样做:)

if(strlen($_POST["link"]) > 5){
    $link = $_POST["link"];
}else{
    $errors[] = "Please enter a link for the article.";
}