咨询:通达字符串查找函数
通达提供的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或空字串。
您好,建议您对$subSTRING按照(,)进行切割成数组,然后循环用find_id($STRING,$subSTRING($i))来判断两个字符串中共同的元素。 本帖最后由 cgft 于 2014-4-24 16:37 编辑
谢谢
function Like_ID($STRING, $subSTRING) {
$subSTRING_ARR= explode(',', $subSTRING);
foreach ($subSTRING_ARR as $sub_ID) {
if($sub_ID=='' || $sub_ID==',') return FALSE;
$STRING= ltrim($STRING, ',');
if(substr($STRING,-1) != ',') $STRING.= ',';
if(strpos($STRING, ','.$sub_ID.',') > 0) return TRUE;
if(strpos($STRING,$sub_ID.',') === 0) return TRUE;
if(!strstr($sub_ID, ',') && $STRING == $sub_ID) return TRUE;
}
return FALSE;
}
页:
[1]