txt文件里面的是:
123,456;321,567;987,qwe;
怎么才能先以;来分割然后再用,来分割 。
最后得到以,来分割的值
利用正则表达式和preg_match_all("正则表达式",“字符串”,数组),把字符串中满足正则表达式的值存到数组中
preg_match_all("/[\w]+/",$str,$arr);
print_r($arr);
php 字符串分割为数组用 explode("指定字符",“要分割的字符串”);
把数组拼接为字符串用implode("指定连接字符",“数组”);
你这里用explode方法可以解决,首先使用一次explode按“;”得到一个数组,然后循环这个数组,按“,”对每个元素使用一次explode就得到你要的结果了。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-10-08
$str = "123,456;321,567;987,qwe";
$arr = explode(";",$str);
foreach($arr as $u){
$strarr = explode(",",$u);
foreach($strarr as $newstr){
echo $newstr."</br>";
}
}
$arr = explode(";",$str);
$newarr = explode(",",$arr[0]);
echo $newarr[0];
$arr = explode(";",$str);
foreach($arr as $u){
$strarr = explode(",",$u);
foreach($strarr as $newstr){
echo $newstr."</br>";
}
}
如果有什么不明白可以追问!
怎么拿到123
追答我的代码你看了吗?
这是输出结果:
123
456
321
567
987
qwe
如果想拿“123”的话,直接一个$strarr[0]不就拿到了嘛!拿“456”就$strarr[1],这样根据数组下标就可以拿到你想要的啊!
如果直接用$strarr[0]
它就显示一个没有的 字符
你如果是像只拿到第一个的话那代码这样就好了:
$str = "123,456;321,567;987,qwe";$arr = explode(";",$str);
$newarr = explode(",",$arr[0]);
echo $newarr[0];
欢迎追问!
第2个回答 2013-09-05
$content = file_get_contents(aa.txt); //获得txt文件中数据
$str = implode(',',explode(';',$content)); //拼装所需的str,无需循环。
echo $str; // 123,456,321,567,987,qwe
$str = implode(',',explode(';',$content)); //拼装所需的str,无需循环。
echo $str; // 123,456,321,567,987,qwe
第3个回答 2013-09-05
$str = "123,456;321,567;987,qwe";
$arr1 = explode(';',$str);
foreach($arr1 as $v){
$arr2[] = explode(',',$v);
}
用array_merge()函数合并得到的新数组
$arr1 = explode(';',$str);
foreach($arr1 as $v){
$arr2[] = explode(',',$v);
}
用array_merge()函数合并得到的新数组