或者这样子,我这样做对比只是因为如下原因:
1、$ary1数组里的每一个元素肯定都能在$ary2里找到,而且$ary1[$i][2]肯定都是不为空,
  但是$ary2[$i][2]却有可能为空;
2、我现在就是要实现所有$ary[$i][2]不为空的先排完再排可能出现为空的

解决方案 »

  1.   

    $queryzall="select a.id,a.townname,b.title from town a left join townindustry b on (a.id=b.townid) where a.place like '%$_GET[zone]%' order by ISNULL(b.title), a.townname desc";只需要这样就可以了,你测试一下!左连接将得到左边表的全部内容,并不管右边表对应项是否为空
    排序时加一个ISNULL(b.title)排序项,当b.title非空时将返回0,否则返回1。正好满足你的分类要求
      

  2.   

    不好意思,唠叨大哥,我忘了还有一个注意的地方,a表里的townname字段下有可能有多个相同的值,必须保证只能出现其中一个,所以不能用order by,排序之前我用group by来做的
      

  3.   

    好了,已经解决了,谢谢唠叨大哥,其实只要简单的在left join的时候加上你说的ISNULL(b.title)条件再array_push一下就可以很完美的解决我的要求啦:)揭贴!!