PHP脚本与循环,elseif语句

时间:2011-03-22 03:48:10

标签: php scripting

如果有人可以跟我说话,也许会指出我的方向。如果我有一个了解它的人指导我,我可以与之交谈,我的工作会更好。我不是要求它为我做。谢谢

下面的数组表示小公司库存商品的商品编号。

$inventory = array ("ABC123X","TWX325R","NPR779N","PUY343S","MIS394A","RSE874W","WER343P");

形式:
编写一个HTML表单,接受库存号的单个文本输入。 (ALREADY DONE:将在脚本中使用$item = $_POST["item"];

PHP脚本:编写一个搜索数组的PHP脚本。

如果物品有库存(在阵列中),请在库存消息中打印该项目。

如果商品没有库存(不在数组中),请打印不在库存消息中的商品。

提示:

  1. 使用foreach循环在阵列中搜索用户发送给您的数据。使用顺序搜索。 (例如:比较第一项,然后是下一项,然后是下一项,直到找到您正在寻找的项目。)

  2. 您需要在循环中嵌套if语句,因为不是每个项都匹配。

  3. 创建一个标记变量,用于跟踪是否找到某个项目。在程序开头设置$ flag = false。仅在找到项目时才将$ flag设置为true。在程序结束时,测试$ flag以确定是否需要显示不在库存消息中的项目。

  4. 我有以下是比特和peices,但我想弄清楚如何将它们放在一起。我基本上是靠自己做的,只提供很少的信息,并尝试使用谷歌搜索

    <?php
    
    $item = $_POST["item"];
    $inventory = array("ABC123X","TWX325R","NPR779N","PUY343S","MIS394A","RSE874W","WER343P")
    $flag = false
    
    foreach ($item as $inventory)
    
    if ($flag == true)
     print "<font size=+3><b>ACME Hardware Store</b></font><br><br>";
     print "We have item $item in stock! Feel free to contact us for more info.";
    else
    if ($flag == false)
     print "<font size=+3><b>ACME Hardware Store</b></font><br><br>";
     print "That item not in inventory! Please contact us if you would like to special     order it.";
    
    ?>
    

2 个答案:

答案 0 :(得分:2)

如果需要检查的是库存数组中是否有物品,请尝试。或者如果您应该使用foreach检查php手册中的语法

if(in_array($item,$inventory)){
print "<font size=+3><b>ACME Hardware Store</b></font><br><br>";
 print "We have item $item in stock! Feel free to contact us for more info.";
}
else
{
 print "<font size=+3><b>ACME Hardware Store</b></font><br><br>";
 print "That item not in inventory! Please contact us if you would like to special     order it.";


}

答案 1 :(得分:1)

这听起来太简单了,但我相信你只是在寻找in_array函数。

http://us3.php.net/manual/en/function.in-array.php

但如果你真的想按照自己的方式去做,我相信这将是正确的方法:

foreach( $inventory as $inv_item ){
   if( $inv_item == $item ){
      $flag = true;
      break;
   }
}

if( $flag == true ) {
   ...
} else {
   ...
}