<?
$array1 = array(1,2,3,4,5);
$array2 = array(1,2,3,4,6);
$array3 = array(1,3,4,5,6,7,8);
$result = array_intersect($array1,$array2,$array3);foreach ($result as $k=>$value) {
$value = sprintf('%06d',$value);
$value = 'ter'.$value;
echo $value."\n";
$str = 'ter000003';//从数据库中取出的值,假设为$str一个值读数据库的话你自己来吧
if ($value==$str) {
$result[$k] = $str;
}
}var_dump($result);
?>已解决,接分!
经测试结果如下:
ter000001
ter000003
ter000004
array(3) {
  [0]=>
  int(1)
  [2]=>
  string(9) "ter000003"
  [3]=>
  int(4)
}

解决方案 »

  1.   

    可能你有点误解我的意思,
    {
    $array1 = array(1,2,3,4,5);
    $array2 = array(1,2,3,4,6);
    $array3 = array(1,3,4,5,6,7,8);
    $result = array_intersect($array1,$array2,$array3);
    }
    只是个例子,我现在把1,2,3,4,5,6,7,8 换成 a,b,c,d,e,f,g,h可能用你的方法要重新拼字符串了
    我要从数据库中查出
    sql = "select terminal_id from terminal_status_log where online = 0 and log_date =‘2008-12-11’";
    sql = "select terminal_id from terminal_status_log where online = 0 and log_date =‘2008-12-12’";
    sql = "select terminal_id from terminal_status_log where online = 0 and log_date =‘2008-12-13’";
    这三天的terminal_id(他们肯定不一样),然后对比,比较出来相同的terminal_id,打印出来。
    我现在无法解决的是把查询出来的结果用上面大括号中的方法比较,我查询出来的结果是
    $result=mysql_query($sql);
    $row=mysql_fetch_array($result);
    这个$row 我不知道怎么让它当作大括号中的$array1 一样可以被放入array_intersect这个函数里来用来比较  
      

  2.   

    我有一个表 terminal_status_log,里面有三个字段log_date,terminal_id,online.
    我想知道连续三天online=0的terminal_id 有哪些
    首先可以用sql查出来这三天online=0的terminal_id,然后我希望通过array_intersect这个函数来比较出重复的terminal_id
      

  3.   

    SELECT terminal_id,count(*) as `count` FROM `terminal_status_log` WHERE (`log_date` BETWEEN '2008-12-11' AND '2008-12-13') GROUP BY `terminal_id`)count = 3 的 id 就是你想要的