有一堆关键字例如:a\b\c\d\e\f\g\h用\分隔例如有如下一段字符串a:我们 b他们c:你们的 e:大家的g:所有人的h:所有的
我要取得的结果是$a="我们"
$b="他们"
$c="你们的"类似的结果,字符串里出现的关键字不确定,位置也不确定请大家帮帮我,谢谢

解决方案 »

  1.   

    $str="a\b\c\d\e\f\g\h ";
    $arr =explode("\",$str);
    foreach($arr as $key=>$value){
    //遍厉判断
    }
      

  2.   

    a:我们 b他们c:你们的 e:大家的g:所有人的h:所有的 
    a:我们\b他们\c:你们的\e:大家的\g:所有人的\h:所有的 你的例子到底哪个
      

  3.   


    用explode("\", $str)分解成数组,在遍历判断
      

  4.   

    把一个字符串用explode分解成数组,然后一个一个的处理,用foreach循环,一个一个的指定Key和Value(索引和值)
      

  5.   

    用mb_split,否则不兼容中文
    而且用:的话比较好分
    mb_split(':','中:国')
      

  6.   

    来晚了,打个广告
    圣诞节到了,大家快来许个愿吧.博主在此欢迎你们的光临!昵友们,一起许个愿祝福他们!  大家都去许个愿,因些版本正在测试中,有较多缺点,请大家指正,如果有高级美工设计师,请帮忙给处理下美工,让我们心中的他或她幸福吧! 祝福地址:http://www.itgoto.com.cn/wish/ 
    如果你有兴趣也可以在我的博客里面留言哦.记得我哦.祝福你们想要祝福的人吧.愿他/她们都美好! 博客地址:http://www.itgoto.com.cn/ 论坛地址:http://www.itgoto.com.cn/bbs 请大家多多支持,点点广告,让你梦想成为现实 
      

  7.   


    <?
    $str = 'a\b\c\d\e\f\g\h';
    $strword = 'a:我们 b:他们c:你们的 e:大家的g:所有人的h:所有的';
    $arr = explode("\\",$str);
    $arrword = explode(':',$strword);
    $i = 0;
    foreach ($arr as $value) {
    foreach ($arrword as $k=>$v) {
    $tail = substr($v,-1,1);
    if ($tail==$value) {
    $i++;
    $arrResult[$tail] = substr($arrword[$k+1],0,-1);
    }
    }
    }var_dump($arrResult);
    ?>
    我已经测试返回结果如下
    array(6) {
      ["a"]=>
      string(7) "我们 "
      ["b"]=>
      string(6) "他们"
      ["c"]=>
      string(10) "你们的 "
      ["e"]=>
      string(9) "大家的"
      ["g"]=>
      string(12) "所有人的"
      ["h"]=>
      string(8) "所有�"
    }如果谁有更好的办法可以联系我
    MSN:[email protected]