2012-08-06 38 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 
} 
?> 

我所做的只是接受輸入並將其分解,使其成爲數組,然後循環查找每個單詞。這絕不是實現這一目標的最佳方式。這只是一個可能的解決方案的例子。我對它進行了測試,以確保它能夠正常工作,而且無論輸入什麼字。