explode()

将字符串分割成数组

explode()函数介绍

explode() 函数可以把字符串分割为数组。

语法:explode(separator,string,limit)。

separator,必需。规定在哪里分割字符串。
string,必需。要分割的字符串。
limit,可选。规定所返回的数组元素的最大数目。
本函数返回由字符串组成的数组,其中的每个元素都是由 separator 作为边界点分割出来的子字符串。

separator 参数不能是空字符串。如果 separator 为空字符串(""),explode() 将返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 中单个元素的数组。

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

如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。此特性是 PHP 5.1.0 中新增的。

Program List:explode()例子

01
<?php
02
// Example 1
03
$fruit  = "Apple Banana Orange Lemon Mango Pear";
04
$fruitArray = explode(" ", $fruit);
05
echo $fruitArray[0]; // Apple
06
echo $fruitArray[1]; // Banana
07
// Example 2
08
$data = "gonn:*:nowamagic:1000::/home/foo:/bin/sh";
09
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
10
echo $user; // gonn
11
echo $pass; // *
12
?>
程序运行结果:

1
Apple
2
Banana
3
gonn
4
*
Program List:使用limit参数的explode()例子

1
<?php
2
$str = ‘one|two|three|four‘;
3
// positive limit
4
print_r(explode(‘|‘, $str, 2));
5
// negative limit (since PHP 5.1)
6
print_r(explode(‘|‘, $str, -1));
7
?>
程序运行结果:

01
Array
02
(
03
    [0] => one
04
    [1] => two|three|four
05
)
06
Array
07
(
08
    [0] => one
09
    [1] => two
10
    [2] => three
11
)
Program List:将字符串化为键值数组

01
<?php
02
// converts pure string into a trimmed keyed array
03
function string2KeyedArray($string, $delimiter = ‘,‘, $kv = ‘=>‘) {
04
  if ($a = explode($delimiter, $string)) { // create parts
05
    foreach ($a as $s) { // each part
06
      if ($s) {
07
        if ($pos = strpos($s, $kv)) { // key/value delimiter
08
          $ka[trim(substr($s, 0, $pos))] = trim(substr($s, $pos + strlen($kv)));
09
        } else { // key delimiter not found
10
          $ka[] = trim($s);
11
        }
12
      }
13
    }
14
    return $ka;
15
  }
16
} // string2KeyedArray
17
$string = ‘a=>1, b=>23, $a, c=>45%, true, d=>ab c‘;
18
print_r(string2KeyedArray($string));
19
?>
程序运行结果:

view sourceprint?
1
Array
2
(
3
    [a] => 1
4
    [b] => 23
5
    [0] => $a
6
    [c] => 45%
7
    [1] => true
8
    [d] => ab c
9
)
时间: 2024-09-30 15:07:15

explode()的相关文章

in_array()和explode()的使用笔记

今天使用explode函数是因为,在使用in_array()函数时候,in_array()的第二个参数是个数组,bool ( mixed $needle , array $haystack [, bool $strict ] ) 但是我通过查询得到的一个参数是字符串.字符串中的每个值都是通过逗号分隔.将其变成数组得需要分隔他们.而explode这个函数正好分隔字符串然后以数组的形式返回.

explode() — 使用一个字符串分割另一个字符串

语法: array explode ( string $delimiter , string $string [, int $limit ] ) 此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来. 参数  delimiter: 边界上的分隔字符. string: 输入的字符串. limit: 如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分.

从源码去理解PHP的explode()函数

当我们需要将一个数组根据某个字符或字串进行分割成数组的时候,explode()函数很好用,但是你知道explode()是怎么工作的么?截取字串的问题,都会避免不了重新分配空间的消耗,explode也是会分配空间的,毫无疑问.老品牌娱乐城 //文件1:ext/standard/string.c //先来看下explode的源代码 PHP_FUNCTION(explode) { char *str, *delim; int str_len = 0, delim_len = 0; long limit

PHP——explode的应用(获取字符串,拆为下拉列表)

explode $array = explode("|",$s);拆分字符串,返回一个字符串的数组 *** 练习的麻烦写法: <?php $s = "n001^汉族|n002^回族|n003^满族|n004^维吾尔族"; //拆出每一行的数据 $array = explode("|",$s); print_r($array); echo "<br />"; $str="<select>&

【PHP】函数explode和split的区别

前言 之所以做这个,是因为这两个函数的作用很像,都是把字符串转换成数组. explode 从下面的例子可以看出,生成的数组是有对应的顺序的. $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 // 示例 2 $data = "fo

php取随机数 explode劫取字符串

php取随机数 <?phpfunction randomkeys($length){ $pattern='1234567890'; for($i=0;$i<$length;$i++) {   $key .= $pattern{mt_rand(0,10)};    //生成php随机数 } return $key;} echo randomkeys(9);?> explode劫取字符串 $source = "hello1,hello2,hello3,hello4,hello5&q

explode() 函数

定义和用法 explode() 函数把字符串打散为数组 语法 explode(separator,string,limit) 参数解析 参数 描述 separator 必需.规定在哪里分割字符串. string 必需.要分割的字符串. limit 可选.规定所返回的数组元素的数目. 可能的值: 大于 0 - 返回包含最多 limit 个元素的数组 小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组 0 - 返回包含一个元素的数组 示例 <?php     $str = &qu

PHP在拆分字符串上substr和explode的选择

一.explode $str = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlcAAAECCAIAAABc8mUKAAAg...'; $tmpArr = explode(',', $str); $a = $tmpArr[0]; $b = $tmpArr[1]; 其中,OP数为11,执行操作用到了7个不同的函数 二.substr+strpos $str = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEU

PHP中implode()和explode()

1, implode()函数返回由数组元素组合成的字符串,函数语法:string implode(separator,array),separator参数可选,规定数组元素之间放置的内容,默认是空字符串:array参数表示要组合为字符串的数组. 实例: 1 <?php 2 $arr = array('Hello','World!','I','love','Shanghai!'); 3 echo implode(" ",$arr); 4 ?> 输出: Hello World!

c语言求平面上2个坐标点的直线距离、求俩坐标直线距离作为半径的圆的面积、递归、菲波那次数列、explode

1 #include <stdio.h> 2 #include <math.h> 3 #include <string.h> 4 5 char explode( char * str , char symbol ); 6 7 8 double distance ( int x1 , int y1 , int x2 , int y2 ); // 求平面上2个坐标点的直线距离 9 double circle_area( double radius ); // 求圆面积. r