首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP安装/语法/函数 » [求助]关于数组的操作~~  


  作者:含泪的射手
  注册时间:2005-04-11
  主题/回复:22/37
  积分:553
  等级:★★★(六级)
  称号:声名鹊起

  anvycn@163.com
  373922016
  hi.baidu.com/anvycn

 

 发表:2005-04-19 21:11:53 阅读 2279 次 回复 4 次 得分2  |   字号 字色
[求助]关于数组的操作~~
大虾指教:
我想得到两个数组的交集,怎样实现??
比如两个时间段d1-d2,d3-d4
我需要知道他们的交集,来检测是否冲突~,怎样解决阿
 
 1#楼  
 
  回复人:Miyahoo
  注册时间:2004-04-04
  主题/回复:39/255
  积分:1210
  等级:★★★☆(七级)
  称号:论坛贤士

   
 1#楼 发表于2005-04-19 21:30:46  评分:1 

交集是什么?:?
 2#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 2#楼 发表于2005-04-19 22:03:11  评分:1 

可以这么办
打个比方吧,  6-20  11-78  这两个区域,用变量表示就是$a1-$a2  $b1-$b2
这两个区域,比较 
----------------------------
if($a1>$b1){
  if($a1>$b2){
   echo "交集为空!";
    }else{
   $start=$a1;
   $end=min($a2,$b2);
    }
 }else{
   if($a2<b1){
   echo "交集为空";
   }else{
   $start=$b1;
   $end=min($b2,$a2);
   }
 echo $a1."--".$a2."和".$b1."--".$b2."的交集是:".$start."--".$end;  
  }
 } 
--------------------------------
上面是说了两个整数段,分别是$a1-$a2,$b1-$b2两个段
如果换到了数组中,也是一样,无非是$a1可能变成了$a[1],比较的值可能不再是正数的大小而是时间的先后,内容变了,道理没有变。就用if语句就能比较出来有没有交集。
 3#楼  
 
  回复人:Miyahoo
  注册时间:2004-04-04
  主题/回复:39/255
  积分:1210
  等级:★★★☆(七级)
  称号:论坛贤士

   
 3#楼 发表于2005-04-21 19:33:06  评分: 

哦。这么简单。
 4#楼  
 
  回复人:含泪的射手
  注册时间:2005-04-11
  主题/回复:22/37
  积分:553
  等级:★★★(六级)
  称号:声名鹊起

   
 4#楼 发表于2005-10-31 20:40:17  评分:× 

取交集$arr3=array_intersect($arr1,$arr2);
取合集$arr3=array_merge($arr1,$arr2);
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.006sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版