php字符串转数组

如何将 1|同学,2|朋友,3|同事,4|游戏 这样的字符串转换为一维数组,需要用|前的数字做键名,数组结构为
array(
[1]=>同学
[2]=>朋友
[3]=>同事
[4]=>游戏
)
求一个好点的方法。
最新回答
虐爆托儿所

2024-07-08 01:22:27

可以使用str_split将字符串转为数组,str_split用法如下:

str_split — 将字符串转换为数组

array str_split( string $string [, int $split_length = 1] )

string:输入字符串。

split_length:每一段的长度。

返回值

如果指定了可选的 split_length 参数,返回数组中的每个元素均为一个长度为 split_length的字符块,否则每个字符块为单个字符。  

如果 split_length 小于 1,返回 FALSE。如果 split_length 参数超过了 string 超过了字符串 string 的长度,整个字符串将作为数组仅有的一个元素返回。 


使用示例:

$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
)

让月色乏味

2024-07-08 00:14:10

下面的例子程序测试没有问题,希望对你有所帮助:

<?php
$s='1|同学,2|朋友,3|同事,4|游戏';
$a=array();
foreach (explode(',',$s) as $s){
list($k,$v)=explode('|',$s);
$a[$k]=$v;
}
print_r($a);
?>
深秋叶落黄

2024-07-08 14:18:47

这样可以 <?php $a = array('1' => '错','3' => '错' ); $k如果只是字符串转换成数组,用str_split()函数就可以了,正则,能不用就不,fsGTfY
紫夜雪舞

2024-07-08 19:27:07

$str="1|同学,2|朋友,3|同事,4|游戏";
$tmp=explode(',',$str);
$arr=array();
foreach($tmp as $t)
{
list($k,$v)=explode('|',$t);
$arr[$k]=$v;
}
print_r($arr);
剩余旳滚!

2024-07-08 11:22:25

在php中要把字符串转换数组的方式有很多种,我们如果有规律性的可直接使用explode()函数来把字符串截成数组。

定义和用法
explode() 函数把字符串分割为数组。
语法
explode(separator,string,limit)
例子
在本例中,我们将把字符串分割为数组:
代码如下 复制代码

$str = "Hello world. It's a beautiful day.";
print_r (explode(" ",$str));
?>

输出:
代码如下 复制代码

Array
(
[0] => Hello
[1] => world.
[2] => It's
[3] => a
[4] => beautiful
[5] => day.
)

这样我们的字符就根据我们的设定就转换成了数组了哦。

除非特别声明,PHP100新闻均为原创或投稿报道,转载请注明作者及原文链接
原文地址:
http://www.php100.com/html/php/hanshu/2013/0905/4688.html

分享到:4
收藏
上一篇:PHP中数组转换成json字符串程序代码
下一篇:php get_magic_quotes_gpc()函数用法介绍