2012-08-06 39 views
0

我需要帮助这样的代码:继续下去字

<?php 
$keyword = "pie is great"; 
if ($keyword == "pie is great"){ 
    echo "Cool :D"; 
} 
?> 

现在的形象,如果有一个形式,其中之一有pie is对两个文本框,另一只great,如何将我检查句子完成到pie is great

像等,只是检查是否判决是在2个不同的文本框完成,

+1

您所引用的字符串甚至不正确。我们如何认真对待这个问题? – 2012-08-06 03:30:51

+0

您在'$ keyword'声明中缺少一个报价;它应该是'$ keyword =“pie is great”;' – 2012-08-06 03:30:52

+0

句子对你的代码是否已知?即它会永远是“派是伟大的”,还是会有第三个请求参数与整个句子?或者你是否需要它只是*任何*有效的英语句子? – 2012-08-06 03:31:21

回答

0

就像这个...

if ($input1 == 'pie is' && $input2 == 'great') 
    echo "I like pie too!"; 

连接起来将不会验证第二输入是“伟大”的它在第一个输入中可能有'pie很棒',而第二个输入是空的。

+0

我也需要像用户提交的饼图一样,然后是伟大的或派,然后是伟大的,就像使用任何组合 – user1577481 2012-08-06 03:35:23

0

您需要连接两个文本框的值。

<?php 
$keyword = "pie is great"; 
$newVal = $_POST['txtbox1'] . ' ' . $_POST['txtbox2']; 
if ($keyword == $newVal) 
{ 
    echo "Cool :D"; 
} 
?> 
+0

我需要它自动执行任何其他组合 – user1577481 2012-08-06 03:40:39

0

好的,所以你说的如果我没有弄错的是你想不管用什么样的顺序来比较它们的话。花了几分钟写出一些代码,这就是我想出的。

<?php 

$string1 = 'pie is great'; 

$user_input = $_POST['txtbox1'].' '.$_POST['textbox2']; 

$user_input = explode(' ', $user_input); 


$sorted = NULL; 
foreach($user_input as $row) 
{ 
    if($row === 'pie') 
    { 
     $sorted .= $row.' '; 
    } 
} 
foreach($user_input as $row) 
{ 
     if($row === 'is') 
     { 
      $sorted .= $row.' '; 
     } 
} 
foreach($user_input as $row) 
{ 
      if($row === 'great') 
      { 
       $sorted .= $row; 
      } 
} 

if($sorted == $string1) 
{ 
    // do something 
}else{ 
    // do something else 
} 
?> 

我所做的只是接受输入并将其分解,使其成为数组,然后循环查找每个单词。这绝不是实现这一目标的最佳方式。这只是一个可能的解决方案的例子。我对它进行了测试,以确保它能够正常工作,而且无论输入什么字。