php分割字符串,phpGET转数字
各位老铁们好,相信很多人对php分割字符串都不是特别的了解,因此呢,今天就来为大家分享下关于php分割字符串以及phpGET转数字的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
php字符串分割问题
|||为分割符,
explode—使用一个字符串分割另一个字符串
说明
array explode( string$separator, string$string [, int$limit ])
此函数返回由字符串组成的数组,每个元素都是 string的一个子串,它们被字符串 separator作为边界点分割出来。如果设置了 limit参数,则返回的数组包含最多 limit个元素,而最后那个元素将包含 string的剩余部分。
用这个得到个函数
在循环函数
在循环体里面
用split(search,$str[,int]):把$str按search字符进行分割返回数组int是分割几
或者
strtok(原字符,分割符):每次分割一小块,它根据分割符的每个字符来分割;
分割每个数组元素得到一个新的数组
在定义一个数组,把的到的新的数组的2个元素分别赋给定义数组的键值,和值
$a=explode("1@A|||5@B|||6@C|||4@D|||2@E|||3@F|||7@G|||8@H|||","|||");
foreach($a as$value){
$b=explode($value,"@");
$c[$b[0]]=$b[1];
}
行了
我可能写的不对,但是思路是这样的,你自己想想
php截取字符串
用的正则,可能效率有点低
另外,不知道你是不是有其它类型的字串,是不是都在book目录下等等这些信息,我也只能做到这一步了。
<html>
<head>
<title>aboutName</title>
</head>
<body>
<?php
$str='/book/shopping/%E9%95%BF%E8%A3%99';
@preg_match_all("/book\/([a-z]+)\//",$str,$str);
print_r($str);
$str=$str[1][0];
echo$str;
?>
</body>
</html>
————————————————
如果你是希望截取第二个目录以后,可以这样:
<html>
<head>
<title>aboutName</title>
</head>
<body>
<?php
$str='/book/shopping/%E9%95%BF%E8%A3%99';
@preg_match_all("/\/.+\/([a-z]+)\//",$str,$str);
print_r($str);
$str=$str[1][0];
echo$str;
?>
</body>
</html>
——————————————————
反正用正则的话,灵活度特别高,但效率会显得低一些,如果你并不是大量使用,可以考虑。
php数组分割~
$a="12@84@940@33@77";
$elements= explode("@",$a);
print_r($elements);
关于explode
格式:
array explode( string separator, string string [, int limit])
此函数返回由字符串组成的数组,每个元素都是 string的一个子串,它们被字符串 separator作为边界点分割出来。如果设置了 limit参数,则返回的数组包含最多 limit个元素,而最后那个元素将包含 string的剩余部分。
如果 separator为空字符串(""),explode()将返回 FALSE。如果 separator所包含的值在 string中找不到,那么 explode()将返回包含 string单个元素的数组。
如果 limit参数是负数,则返回除了最后的 limit个元素外的所有元素。此特性是 PHP 5.1.0中新增的。
由于历史原因,虽然 implode()可以接收两种参数顺序,但是 explode()不行。你必须保证 separator参数在 string参数之前才行。
好了,文章到此结束,希望可以帮助到大家。