我继续与阵法斗争!这可能很容易回答。
我正在使用 PHP 从 MYSQL 检索数据集。我得到一个具有第一行的数组(ala mysql_fetch_array)。通常我会遍历这个并获取每个值,但在这种情况下,我已经处于循环中间,我需要找出完整数据集中是否存在特定值(这将超过 1 行)。
我想我可以循环并将所有值放入一个数组中,如下所示:
$query = "SELECT MapId FROM Map Where GameId = $gl_game_id";
$result_set = mysql_query($query, $connection);
confirm_query($result_set);
$map_set = array();
while($row = mysql_fetch_assoc($result_set)) {
$map_set[] = $row;
}
当我 print_r 这个时,我实际上得到了完整的数据集(例如,表 Map 中的 MapId 的所有行)。
所以现在,当我去那里查看一个值(来自另一个循环的)是否存在时,它不会找到它。
所以我的代码看起来像:
if (in_array($i, $map_set)) {
echo "yes, it's there baby!";
}
但它不起作用。我尝试对数组进行硬编码,这确实有效。因此,我构建数组的方式存在问题,这个函数不喜欢它。
if (in_array($i, array(40,12,53,65))) {
echo "yes, it's there baby!";
}
arrrg...我讨厌在这方面成为菜鸟。