PHP函数和if / else语句

时间:2011-04-06 03:56:56

标签: php function if-statement

我正在尝试编写一个包含if / else语句和函数的脚本。一些背景

  • $parts第一个字符的字母应为“N”
  • $desc假设至少有一个字符长
  • $price需要为正(0或更高)

如果满足所有这三个要求,那么如果不满足(一个或全部)“无效......”需要显示的话,它应该说“接受数据”。

有人可以告诉我应该看看我的剧本的哪一部分。

<?php
$parts = $_POST["parts"];
$desc  = $_POST["desc"];
$price = $_POST["price"];

$pa = substr($parts, 0, 1);
$de = strlen($desc);

if ($pa != "N")
 {echo "Invalid Part Number";}
else
 if ($de <= 1)
  {echo "Invalid Description Length";}
 else
  if ($price <= 0)
   {echo "Invalid Price";}
    else
     {echo "Data Accepted";}
?>

5 个答案:

答案 0 :(得分:2)

第二个if if($de==1) $de=1将始终返回true。

在每个语句后添加分号。

答案 1 :(得分:2)

您的要求: -

  

$ parts第一个字符应该有   字母“N”

     

$ desc假设至少有一个   人物长久

     

$ price需要为正(0或   更高)

<强>解决方案: -

$parts = $_POST["parts"];
$desc  = $_POST["desc"];
$price = $_POST["price"];

$pa = substr($parts, 0, 1);
$de = strlen($desc);

if($pa != 'N') {
    echo "Invalid Part Number";
} elseif($de < 1) {
    echo "Invalid Description Length";
} elseif($price < 0) {
    echo "Invalid Price";
} else {
    echo "Data Accepted";
}

答案 2 :(得分:1)

第二个if if($de < 1)如果它总是一个字符长,你可以if($de == 1)但如果它的1个或更多

答案 3 :(得分:0)

$parts = $_POST["parts"];
$desc  = $_POST["desc"];
$price = $_POST["price"];

答案 4 :(得分:0)

    <?php
    $parts = '';
    $desc = '';
    $price = 0;
    if ($_POST['parts'] != 'n')
    {
    echo 'Not equal to n<br>';
    }
    else {
    'Accepted input<br>';
    }
    $desc = strlen($_POST['desc']);
    if ($desc < 1)
    {
    echo 'Input less than 1<br>';
     }
    else {
    echo 'Accepted input<br>';
    }
    if ($_POST['price'] < 0)
    {
    echo 'Input below 0<br>';
    }
    else {
    echo 'Input accepted<br>';
    }
    ?>