我正在爲幾個朋友玩一個基於小型文本的網頁遊戲(懷舊),但我遇到了遊戲的核心問題,進攻/防守。如何給陣列中的每個字段自己的變量
每個玩家有x部隊的每種類型(更多可以購買,並會在atk/def將會丟失) 到目前爲止我有一個表格,其中隊伍類型和統計數據以及與部隊數量關聯的表格和部隊編號。
我正在使用用戶ID來獲取部隊ID和數量使用;
//獲得攻擊者隊伍數量。
$i = 0;
$attacker_deets = $conn->prepare("SELECT * FROM troop_qty WHERE user_id= :attacker_id");
$attacker_deets->bindParam(':attacker_id', $attacker_id);
$attacker_deets->execute();
$attacker_deets_results = $attacker_deets->fetchAll(PDO::FETCH_ASSOC);
foreach($attacker_deets_results as $atk_key=>$atk_result) {
echo "<pre>"; var_dump($atk_result); echo "</pre>";
}
其中輸出;
array (size=4)
'troop_qty_id' => string '1' (length=1)
'user_id' => string '2' (length=1)
'troop_id' => string '1' (length=1)
'qty' => string '100' (length=3)
array (size=4)
'troop_qty_id' => string '2' (length=1)
'user_id' => string '2' (length=1)
'troop_id' => string '2' (length=1)
'qty' => string '100' (length=3)
我然後使用部隊ID來獲得部隊詳情;
//獲得攻擊者隊伍的詳細信息。
$attacker_troop_deets = $conn->prepare("SELECT * FROM troops WHERE troop_id= :atk_troop_id");
$attacker_troop_deets->bindParam(':atk_troop_id', $attacker_deets_results[$i]['troop_id']);
$attacker_troop_deets->execute();
$returned_results = $attacker_troop_deets->fetchAll(PDO::FETCH_ASSOC);
foreach($returned_results as $key=>$result) {
echo "<pre>"; var_dump($result); echo "</pre>";
}
++$i;
這總共給我;
array (size=4)
'troop_qty_id' => string '1' (length=1)
'user_id' => string '2' (length=1)
'troop_id' => string '1' (length=1)
'qty' => string '100' (length=3)
array (size=4)
'troop_id' => string '1' (length=1)
'troop_name' => string 'Fist Puncher' (length=12)
'troop_atk' => string '1' (length=1)
'troop_def' => string '1' (length=1)
array (size=4)
'troop_qty_id' => string '2' (length=1)
'user_id' => string '2' (length=1)
'troop_id' => string '2' (length=1)
'qty' => string '100' (length=3)
array (size=4)
'troop_id' => string '2' (length=1)
'troop_name' => string 'Stick Waver' (length=11)
'troop_atk' => string '2' (length=1)
'troop_def' => string '1' (length=1)
現在在那裏我卡住是我需要能夠首先衝牀的troop_atk比較是從一組不同的重複查詢的越來越守軍細節得到堅持毫不動搖的防守,我也需要能夠對atk和def變量進行乘法和除法。
那麼我該如何去實現呢?我會假設我需要給數組中的每個字段自己的變量,但是如何?我曾嘗試使用$ {「troop_name」。 $ i} = $ attacker_deets_results [$ i] ['troop_name'];但它只輸出最後輸入的名稱。
任何幫助將是驚人的。謝謝。
編輯:爲了澄清一些事情,我的目標是獲得隊伍數量,並通過atk和def複數,然後使用這些數字與來自衛冕球員的相同領域做一些其他數學,我會用於減少數量字段。
'$ i'是否增加過?在您的示例中看起來像它的外部循環。 – rockerBOO 2015-04-04 12:34:10
他在bindParam()中使用它,所以它必須引用外層循環或其他東西,可能循環遍歷第一個結果 – AdamM 2015-04-04 12:40:37
你看過'extract()'函數http://php.net/manual/en/function.extract .php – RST 2015-04-04 12:48:17