很多站长朋友们都不太清楚php分隔字符串,今天小编就来给大家整理php分隔字符串,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php怎么把字符串指定字符分割成数组? 2、 php如何分割中文字符串 3、 php 分割字符串 4、 php如何平均分割字符串 例分割为四部分 5、 PHP 如何用大写字母加点号来分割字符串? 6、 「PHP基础」字符串分割 explode 与 str_split 函数 php怎么把字符串指定字符分割成数组?<?php
$str="1|2|3|4|5|";
$var=explode("|",$str);
print_r($var);
?>
$var=explode("|",$str);
把$str按|进行分割
php还有其他的把字符串指定字符分割成数组
str_split(string,length)参数 描述
string 必需。规定要分割的字符串。
length 可选。规定每个数组元素的长度。默认是 1。
json_decode()这个函数也可以把字符串分割成数组 (第二个参数为true才行)
php如何分割中文字符串php分割中文字符串,如果直接用PHP函数“str_split”来分割,会出现乱码,因为中文字符长度和英文字符长度是不一样的。
所以,可以建立新的函数先把字符转成ASCII值,接着通过判断不同字符的长度来正确分割中文字符串,把结果存入数组,最后再用PHP函数“join”在字符间插入百分号。
具体参考代码如下:
<?php
function str_split_utf8($str){
$split=1;
$array=array();
for($i=0;$i<strlen($str)){
$value=ord($str[$i]);
if($value>127){
if($value>=192$value<=223) $split=2;
elseif($value>=224 $value<=239) $split=3;
elseif($value>=240 $value<=247) $split=4;
}else{
$split=1;
}
$key=NULL;
for($j=0;$j<$split;$j++,$i++){
$key.=$str[$i];
}
array_push($array,$key);
}
return $array;
}
$string="百度知道";
$arr1=str_split_utf8($string);
echo join("%",$arr1);
?>
php 分割字符串这100分来得好爽哦,楼上的正解。
关于str_split的详细例子程序:
<?php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
上例将输出:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
但是,str_split不支持汉字,会把汉字分为两半,需要把汉字当为一个字符进行处理的时候,需要自己编写函数。
php如何平均分割字符串 例分割为四部分首先你要确认该字符串的编码
如果是gbk的编码 则一个汉字占用2个字节 如果是utf-8编码的话 则占用3个字节。
<?
$s='这是1个中英混合的abcd';
$s=iconv('gbk','utf-8',$s);
echo $len=strlen($s);//取得字符串长度 一个gbk汉字是占用2个字节 而utf-8是占3个字节
echo "<br>";
echo $mblen=mb_strlen($s,'utf-8');//获取单词的长度 一个汉字是1个字节
?>
明白这个原理 就不难了 下面俺来写个函数给你
<?
$s='这是1个中英混合的abcd';
$s=iconv('gbk','utf-8',$s);//如果你确认你的字符串的编码是UTF-8就去掉这句
print_r(strSplit($s,4));
//字符串切割函数 str为字符串 num为每段分割为几
function strSplit($str,$num=4){
$len=mb_strlen($str,'utf-8');//获取字符串长度 每个汉字算1
$partNum=ceil($len/$num);
$arr=array();
for($i=0;$i<$partNum;$i++){
$begin=$i*$num;
$arr[]=iconv_substr($str,$begin,$num,'utf-8');
}
return $arr;
}
?>
PHP 如何用大写字母加点号来分割字符串?$str = str_replace(".","","A.AB.BC.CD.D");
foreach (str_split($str) as $key => $item){
if ($key !=0 $key % 2 == 1) {
echo '.';
}
echo $item;
if($key % 2 == 1){
echo "\n";
}
}
「PHP基础」字符串分割 explode 与 str_split 函数用于分割字符串。
相关函数如下:
本函数为 implode() 的反函数,使用一个字符串分割另一个字符串,返回一个数组。
语法:
array explode( string separator, string string [, int limit] )
例子:
输出结果如下:
str_split() 将字符串分割为一个数组,成功返回一个数组。
语法:
array str_split( string string [, int length] )
例子:
输出结果如下:
关于php分隔字符串的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php分隔字符串 php 字符串拼接的详细内容...