找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

通达OA官网网站
搜索
查看: 1704|回复: 2

咨询:通达字符串查找函数

[复制链接]

257

主题

1154

回帖

1万

牛毛

游客

积分
18851
QQ
发表于 2014-4-21 10:33:44 | 显示全部楼层 |阅读模式
通达提供的find_id($STRING, $ID)函数只能在字符串$STRING中查找子串$ID。

如果有字符串:$STRING     //以英文逗号(,)连接的M个ID值的一个字符串,如a,b,c,d,e,
子字符串:$subSTRING     //以英文逗号(,)连接的N个ID值的一个子字符串,如g,d,f,
判断字符串$STRING中是否有包含子字符串$subSTRING中的某个ID值,函数是什么?
如上例,字符串$STRING包含有ID值d,返回TRUE或‘d’;若$STRING=‘g,k,f,’,则返回FALSE或空字串。

0

主题

197

回帖

445

牛毛

游客

积分
617
发表于 2014-4-22 23:05:53 | 显示全部楼层
您好,建议您对$subSTRING按照(,)进行切割成数组,然后循环用find_id($STRING,$subSTRING($i))来判断两个字符串中共同的元素。

257

主题

1154

回帖

1万

牛毛

游客

积分
18851
QQ
 楼主| 发表于 2014-4-24 16:15:58 | 显示全部楼层
本帖最后由 cgft 于 2014-4-24 16:37 编辑

谢谢


  1. function Like_ID($STRING, $subSTRING) {
  2.     $subSTRING_ARR= explode(',', $subSTRING);
  3.     foreach ($subSTRING_ARR as $sub_ID) {
  4.         if($sub_ID=='' || $sub_ID==',') return FALSE;
  5.         $STRING= ltrim($STRING, ',');
  6.         if(substr($STRING,-1) != ',') $STRING.= ',';
  7.         if(strpos($STRING, ','.$sub_ID.',') > 0) return TRUE;
  8.         if(strpos($STRING,$sub_ID.',') === 0) return TRUE;
  9.         if(!strstr($sub_ID, ',') && $STRING == $sub_ID) return TRUE;
  10.     }
  11.     return FALSE;
  12. }
复制代码

您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

咨询电话:400 818 0505 通达OA,国内协同管理软件行业内唯一的央企单位,中国协同OA软件的领跑者,优秀协同办公解决方案供应商

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|由NB5牛论坛提供技术支持NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2024-12-24 09:35 , Processed in 0.120143 second(s), 29 queries , Yac On.

Powered by Discuz

Copyright © 2001-2024, 北京通达信科科技有限公司.

快速回复 返回顶部 返回列表