搜索来自 mysql 查询结果的数字列表


Searching through a list of numbers which came from mysql query result

$save_planet3 = "SELECT saver_id FROM save_planet 
                WHERE saver_id = '".($_SESSION['user_id'])."' 
                AND map = 1 ORDER BY time_saved DESC";
$save_planet2 = mysql_query($save_planet3) or trigger_error("SQL", E_USER_ERROR);   
while ($list = mysql_fetch_array($save_planet2)) { 
  $saver_id = $list['saver_id']; 

当我echo $saver_id时,我得到一个数字列表

3112 3112 3112

3112
我正在尝试检查$planet_id是否等于这些数字中的任何一个

所以我认为唯一的方法是首先将这些数字放在一个带有键的数组中。所以我试图爆炸它,但它并没有给每个人一个我注意到的不同键。

$check = explode(",", $saver_id);
print_r($check); 

Array ( [0] => 3112 )
Array ( [0] => 3112 )
Array ( [0] => 3112 )
Array ( [0] => 3112 )

一旦我在可行的数组中得到它,我应该能够正确地做到这一点

foreach($array as $key => $value) {    
  if ($planet_id == $value) { 
  //something happends

为什么不将结果集值存储在 while 循环内的数组中呢?

$arr = array();
while ($list = mysql_fetch_array($save_planet2)) { 
  $saver_id = $list['saver_id']; 
  $arr[] = $saver_id;
}
print_r($arr);

您还可以使用 in_array() 来检查值是否存在。