私は2つの配列を持っています:
最初:
$array1 = ("Key 1","Key 2","Key 3"); //is dynamic, so can range from 1 => many values
2 番目の配列はデータベース化された値で、プレーヤーがインベントリに持っているキーの数に基づいて配列を返します。
$array2 = ("Key 1","Key 1","Key 2","Key 3","Key 3","Key 3") //in this case, the player DOES have all the keys.
私の問題は、これらの配列を比較し$array2
て、$array1
.
私が試した私の比較コード..
$check = array();
while ($k = mysql_fetch_array($array2)) {
foreach ($array1 as $name) {
if ((string)$name == (string)$k['name']) $check[] = true;
else $check[] = false;
}
}
foreach ($check as $bool) {
if ($bool == false) {
$return = false;
} else {
$return = true;
}
}
return $return;
問題はprint_r($check)
、 I のときに多数の false が返されるため、プレーヤーに正しいキーがすべて含まれている場合でも、オフの比較によってコードが壊れ、false が返されることです。
この比較ロジックに関するヘルプは素晴らしいものです。詳細が必要な場合はお知らせください。