将字符串分割成数组
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