≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

PHP 分割字符串函数把字符串分割成数组示例

人气:695 时间:2018-09-25

这篇文章主要为大家详细介绍了PHP 分割字符串函数把字符串分割成数组示例,具有一定的参考价值,可以用来参考一下。

对PHP分割字符串函数把字符串分割成数组感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
在php中字符串分割有很多,如有str_split,explode,chunk_split()函数,下面我给大家分别整理了一些实例,希望能给大家带来帮助。
str_split() 可以将字符串按照需要的长度做分割, 但是如果字符串中有UTF-8编码的中文出现,就会出现乱码。
如果需要实现支持中文的按照长度分割字符串的功能就需要额外处理

/**
* PHP分割字符串函数把字符串分割成数组
*
* @param 
* @arrange 512-笔记网: q1010.com
**/
<?php 
$str = 'hello world'; 
$arr = str_split($str); 
print_r($arr); 
/* 
Array 
( 
[0] => h 
[1] => e 
[2] => l 
[3] => l 
[4] => o 
[5] => 
[6] => w 
[7] => o 
[8] => r 
[9] => l 
[10] => d 
) 
*/
$arr = str_split($str,2); 
print_r($arr); 
/* 
Array 
( 
[0] => he 
[1] => ll 
[2] => o 
[3] => wo 
[4] => rl 
[5] => d 
) 
*/
?>
/***   来自四海网(www.q1010.com)   ***/
支持UTF-8编码的中文的按照长度分割字符串函数

/**
* PHP分割字符串函数把字符串分割成数组
*
* @param 
* @arrange 512-笔记网: q1010.com
**/
<?php 
/** 
* @version $Id: str_split.php 10381 2008-06-01 03:35:53Z pasamio $ 
* @package utf8 
* @subpackage strings 
*/
function utf8_str_split($str, $split_len = 1) 
{ 
if (!preg_match('/^[0-9]+$/', $split_len) || $split_len < 1) 
return FALSE; 
$len = mb_strlen($str, 'UTF-8'); 
if ($len <= $split_len) 
return array($str); 
preg_match_all('/.{'.$split_len.'}|[^x00]{1,'.$split_len.'}$/us', $str, $ar); 
return $ar[0]; 
} 
$str = 'hello 你好'; 
$arr = utf8_str_split($str); 
print_r($arr); 
/* 
Array 
( 
[0] => h 
[1] => e 
[2] => l 
[3] => l 
[4] => o 
[5] => 
[6] => 你 
[7] => 好 
) 
*/
?>
/***   来自四海网(www.q1010.com)   ***/
主要是chunk_split()函数的功能 与str_split()的区别是str_split()是把字符串按照长度分割成数组,而chunk_split()则是用一个指定的特殊符按照长度分割成新的字符串。
相当于 str_split()+implode()两个函数的功能。 同样这个函数是不支持中文的,需要实现这样的功能需要自定义函数。

/**
* PHP分割字符串函数把字符串分割成数组
*
* @param 
* @arrange 512-笔记网: q1010.com
**/
<?php 
$data = "e0ab71ab9ed24e627a24e7d65367936393cb3b39db9a9e84d65cd7a9254a4665"; 
echo chunk_split($data, 30, "<br />"); 
echo implode("<br />",str_split($data,30));
//和chunk_split效果一样 
?>
/***   来自四海网(www.q1010.com)   ***/
支持中文的自定义chunk_split()函数

/**
* PHP分割字符串函数把字符串分割成数组
*
* @param 
* @arrange 512-笔记网: q1010.com
**/
<?php 
//from Peter from dezzignz.com 05-Apr-2010 11:30 @ php.net 
function mbStringToArray ($str) { 
if (empty($str)) return false; 
$len = mb_strlen($str); 
$array = array(); 
for ($i = 0; $i < $len; $i++) { 
$array[] = mb_substr($str, $i, 1); 
} 
return $array; 
} 
function mb_chunk_split($str, $len, $glue) { 
if (empty($str)) return false; 
$array = mbStringToArray ($str); 
$n = 0; 
$new = ''; 
foreach ($array as $char) { 
if ($n < $len) $new .= $char; 
elseif ($n == $len) { 
$new .= $glue . $char; 
$n = 0; 
} 
$n++; 
} 
return $new; 
} 
$data = "e0ab你好4e627a24e7d65367936393cb3b39db9钓鱼岛a9e84d65cd7a9254a4665"; 
echo mb_chunk_split($data, 30, "<br />"); 
?>
/***   来自四海网(www.q1010.com)   ***/
PHP explode函数说明,这个函数我们经常会用到 explode 函数 该函数所支持版本(PHP 4, PHP 5),通常是比 split() 更快的替代方案。如果不需要正则表达式的威力,则使用 explode() 更快,这样就不会招致正则表达式引擎的浪费。
explode — 使用一个字符串分割另一个字符串
说明
array explode ( string $delimiter , string $string [, int $limit ] )
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。

参数 delimiter 边界上的分隔字符。 string 输入的字符串。

limit 如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。

如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。 如果 limit 是 0,则会被当做 1。

由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。

你必须保证 separator 参数在 string 参数之前才行。 返回值 此函数返回由字符串组成的 array,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。

如果 delimiter 为空字符串(""), explode() 将返回 FALSE。 如果 delimiter 所包含的值在 string 中找不到,并且使用了负数的 limit , 那么会返回空的 array, 否则返回包含 string 单个元素的数组。

Report a bug 更新日志 版本 说明 5.1.0 支持负数的 limit 4.0.1 增加了参数 limit Example #1 explode()

例子 PHP代码

/**
* PHP分割字符串函数把字符串分割成数组
*
* @param 
* @arrange 512-笔记网: q1010.com
**/
<?php 
// 示例 1 
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; 
$pieces = explode(" ", $pizza); 
echo $pieces[0]; // piece1 
echo $pieces[1]; // piece2
// 示例 2 
$data = "foo:*:1023:1000::/home/foo:/bin/sh"; 
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); 
echo $user; // foo 
echo $pass; // *
?> 
/***   来自四海网(www.q1010.com)   ***/

Example #2 explode() return examples PHP代码

/**
* PHP分割字符串函数把字符串分割成数组
*
* @param 
* @arrange 512-笔记网: q1010.com
**/
<?php 
/* A string that doesn't contain the delimiter will simply return a one-length array of the original string. */ 
$input1 = "hello"; 
$input2 = "hello,there"; 
var_dump( explode( ',', $input1 ) ); 
var_dump( explode( ',', $input2 ) );
?>
/***   来自四海网(www.q1010.com)   ***/

以上例程会输出:
array(1) ( [0] => string(5) "hello" ) array(2) ( [0] => string(5) "hello" [1] => string(5) "there" )

Example #3 limit 参数的例子 PHP代码

/**
* PHP分割字符串函数把字符串分割成数组
*
* @param 
* @arrange 512-笔记网: q1010.com
**/
<?php 
$str = 'one|two|three|four'; 
// 正数的 limit 
print_r(explode('|', $str, 2)); 
// 负数的 limit(自 PHP 5.1 起) 
print_r(explode('|', $str, -1)); 
?>
/***   来自四海网(www.q1010.com)   ***/
以上例程会输出: Array ( [0] => one [1] => two|three|four ) Array ( [0] => one [1] => two [2] => three )

本文来自:http://www.q1010.com/173/1372-0.html

注:关于PHP 分割字符串函数把字符串分割成数组示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:字符串分割

您可能感兴趣的文章

  • php 将字符串按照指定距离分割的简单示例
  • php字符串分割函数的简单示例
  • php 两个字符串分割合并的简单示例
  • php 字符串随机分割成不同长度的数组示例
  • php 将utf8字符串分割成单字示例
上一篇:php5.3提示Function ereg() is deprecated Error问题
下一篇:php smartry生成静态页的简单示例
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。