我有一個數組的PHP文件:比較數組值與輸入值
$cards = array
(
1234=>array
(
"type" => "Viza",
"owner" => "Petar Petrovic",
"balance" => 1000,
),
5678=>array
(
"type" => "Master Card",
"owner" => "Ivan Ivanovic",
"balance" => 20000,
),
91011=>array
(
"type" => "American Express",
"owner" => "Marko Markovic",
"balance" => 300000,
),
121314=>array
(
"type" => "Diners Club",
"owner" => "Veljko Veljkovic",
"balance" => 1000000,
)
這是信用卡信息的例子,關鍵是信用卡號碼。所以我必須通過它並將值與表單中的輸入值進行比較。我的HTML表單:
<form action="cards.php" method="post">
<table align="center">
<tr>
<td>Enter your name</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Enter your card number</td>
<td><input type="text" name="cardno"></td>
</tr>
<tr>
<td>Enter your sum</td>
<td><input type="text" name="sum"></td>
</tr>
<tr>
<td>Select card type</td>
<td><select name="select">
<option value="viza">Viza</option>
<option value="master">Master Card</option>
<option value="american">American Express</option>
<option value="diners">Diners Club</option>
</select></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="SUBMIT"></td>
</tr>
</table>
</form>
首先,我需要檢查,如果卡號進入存在於我的數組,如果它確實比我需要比較輸入的值(名稱和卡型)的其餘部分。我該怎麼做?我對所有這些都是初學者,所以請善待我,請幫助我!
我有一個想法,當然它的,不是工作:
$card_number=$_POST['cardno'];
$name = $_POST['name'];
$sum = $_POST['sum'];
$type = $_POST['select'];
foreach($cards as $key=>$item){
if ($item['type']== $type){
if($item['owner']== $name){
if($item['balance'] > $sum){
$newbalance= $item['balance'] - $sum;
echo "Your new balance is:".$newbalance;
}
else if($item['balance'] < $sum){
echo "You dont have enough sources on your account";
}
else if ($item['owner']!== $name){
echo "Ivalid name!";
}
else if($item['type']!== $type){
echo "Invalid card type!";
}
else if($key !== $card_number){
echo "Invalid card number!";
}
}
}
}
只是一個旁註:扣除,並顯示用戶的餘額後,您可能還需要更新'$ cards'陣列的餘額爲好。 –
非常感謝,我會試試這個! – SeeSee