2011-06-27 59 views
-3
$karthik=$_POST['myarray1']; 

if($karthik=="karthik"){ 
echo "correct"; 
} 
else{ 
echo "incorrect"; 
} 

這裏myarray1狀況評價是一個數組變量得到了值「KARTHIK」它顯示的結果爲不正確如果在PHP

+0

你試過打印$ karthik嗎? 如果你確實收到「karthik」? – abhiasawa

+0

是的打印後,我得到價值作爲karthik與字符串類型 – user816829

+1

是否有可能有任何空白/不可打印的字符? ''var_dump($ karthik)'應該讓你'字符串(7)「karthik」 - 如果顯示的字符數多於7,你可能需要'修剪'你的輸入數據。 – Piskvor

回答

2

在你給的例子是沒有辦法變量$ KARTHIK有價值'karthik'。在你的if語句確認之前做這件事。

echo '$karthik.... '; 
var_dump($karthik); 
echo '$_POST["myarray1"]....'; 
var_dump($_POST['myarray1']); 

你說

這裏myarray1是變量數組

這是有些不明確,是您從網頁中發佈這個或這個變量從別的地方來的?

+0

它來自jquery郵資 – user816829

+0

而且你var_dump的結果告訴你什麼? – calumbrodie

+0

@ user816829如果您使用Firefox,則可以使用Firebug或HttpFox(或任何其他HTTP分析器)分析發送到服務器/從服務器接收的內容。 – Lekensteyn

1

你在暗示$_POST['myarray1']是一個數組,當在字符串上下文中使用時,它將評估爲「數組」。所以,很顯然,條件$karthik=="karthix"是錯誤的,因爲"Array"不等於"karthix"

如果您在一個領域,如:

<input name="myarray1[]" value="karthix"> 

您可以檢查通過使用in_array功能用於檢查字符串是否包含在陣列中或不字段是否包含值"karthix"

$karthix = $_POST['myarray1']; 
if (in_array("karthix", $karthix)) { 
    echo "correct"; 
} 
+0

$ _POST ['myarray1']不需要是一個數組,爲什麼它不能是一個字符串? – calumbrodie

+1

@kissmyface名稱表明該變量是一個數組。我現在已經說得更清楚了 – Lekensteyn

+0

你可能是對的你知道 - 有一些有點腥的「這裏myarray1是一個數組變量」:-) – calumbrodie