php 拆分数组 如: str = "1|2,a|b,c,张三|李四|王五"; 要求先以","拆分,然后以"|"拆分成一个多维数组。

str = "1|2,a|b,c,张三|李四|王五
我想显示成:
1
2
a
b
c
张三
李四
王五

<?php

$str = "1|2,a|b,c,张三|李四|王五";

$arr = explode(',' , $str);

$all_arr = array();
foreach($arr as $v){
$all_arr[] = explode('|' , $v);
}

print_r($all_arr);

?>
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-26
PHP split()函数相比大家对它的了解还不是很深刻。没关系,通过本文的介绍之后,大家肯定会对这个函数的相关功能和具体使用方法有一个深刻的认识。

示例讲解PHP函数preg_grep()的使用
PHP函数preg_match_all()的相关使用方法
解读PHP正则表达式多行匹配的相关代码示
PHP ereg_replace()函数的工作原理解析
解读PHP函数preg_replace()的数组替换代
函数原型:array split (string $pattern, string $string [, int $limit])
PHP split()函数返回一个字符串数组,每个单元为$string经正则表达式$pattern作为边界分割出的子串。如果设定了$limit,则返回的数组最多包含$limit个单元。而其中最后一个单元包含了$string中剩余的所有部分。spliti是split的忽略大小版本。代码6.8是一个经常用到关于日期的示例。

PHP split()函数代码6.8 日期的拆分

< ?php
$date = "08/30/2006";
//分隔符可以是斜线,点,或横线
list($month, $day, $year) = split
('[/.-]', $date);
//输出为另一种时间格式
echo "Month: $month; Day: $day; Year:
$year< br />\n";
?>
希望通过以上这段PHP split()函数的代码示例,大家能够清晰的了解这个函数的具体含义。
第2个回答  2011-10-26
$str = "1|2,a|b,c,张三|李四|王五";
$newstr=split(",",$str);
$str=join("|", $newstr);
print_r(explode("|",$str));追问

你的答案比较满意。
如果我想处理成二维数组怎么办呢!
如:
Array
(
[0] => array(
[0] =>1
[1] =>2
)
[1] => array(
[0] =>a
[1] =>b
)
[2] => c
[3] => array(
[0] =>张三
[1] =>李四
[2] =>王五
)
)

excel中,如a列张三,李四,张三,在b列得到张三李四,怎样能够在a列输入...
在B1单元格输入 =INDEX(A:A,MATCH(,COUNTIF(B$1:B1,A:A),))这是一个数组函数,输入之后需要按Ctr+Shift+回车 然后拖动B1的句柄向下填充 缺点是数组函数速度较慢,另外冗余的单元格会显示 N\/A 错误 但基本能满足你的需求 如果实在看N\/A报错难受就用这个麻烦点的公式:=IF(ISNA(INDEX(A:A,...

如表一:列一至列五为张三、张三、李四、李四、王五,而只想在表二顺序...
sheet1表A1:E1分别是你的数据 在sheet2表中第一行列出不重复的 sheet2表A1公式 =INDEX(Sheet1!$A$1:$E$1,SMALL(IF(MATCH(Sheet1!$A$1:$E$1,Sheet1!$A$1:$E$1,)=COLUMN($A$1:$E$1),COLUMN($A$1:$E$1),4^8),COLUMN(A1)))数组公式,ctrl+shift+回车,三键结束公式输入。...

请教excel筛选问题A列:张三、李四、王五,B列:张三、李四、王五、赵六...
=INDEX(B:B,SMALL(IF(COUNTIF(A$1:A$100,B$1:B$100),4^8,ROW($1:$100)),ROW(A1)))&""数组公式,按下SHIFT+CTRL+ENTER三键结束输入,再下拉复制公式

关于C语言问题 张三李四王五说谎的问题
就是让 王五说张三和李四都在说谎 这个条件成立 (c&&a+b==0||!c&&a+b!=0))如果张三说的是真的 c&&a+b==0就是1 否则!c&&a+b!=0就是1 if里的三个条件都是1 的时候 此时的三个人说谎与否的情况就是对的

在excel中我有一列数据“张三、李四、王五、赵六”,用什么公式能把他...
先将数据粘贴,转置,变成(在第一列):张三 李四 王五 赵六 在某一行的第一列输入:=INDIRECT("A""IENT(COLUMN()-1,3)+1)向右拖拽填充公式。以上只是解决问题的思路,你在实际操作中,要根据具体的数据所在的位置,调整公式中的相应变量,才能达到你的目的。

c语言问题,张三,李四,王五,刘六的年龄为一等差数列,他们四人年龄相加是...
下面依次从1到sum\/4,开始试验等差,如果是则,sum-6y必能被4整除,如果能整除 再看它们的积是否是muti,是则为正解。输出即可。include "stdio.h"void main(){ int i,j,k=0,sum,muti;printf("please enter sum:");scanf("%d",&sum);printf("please enter muti:");scanf("%d",&muti)...

表格如下: A B C D E 1 张三 户主 2 李四 子 3 王五 户主 ……… 目的...
例图中的J214公式为:=IF(ISERROR(FIND("户主",k214,1)),"",A214)将此公式拖动或复制粘贴到J列其他各行即可。此公式可适用于wps表格\/excel,已验证。

...1、 张三 2、(空白) 3、李四 4、(空白) 5、王五 6、(空白)
按F5对要处理区域(千上万行)进行定位,定位条件为“空值”,然后输入=、上方向键,CTRL+回车,即可完成全部空位内容的输入。

...如果A1含有B则返回李四、如果A1含有C则返回王五
原公式有精简余地,外层IFERROR没必要,可写为 =LOOKUP(,0\/FIND({"","A","B","C"},C4),{"","张三","李四","王五"})改为1不对,可能是写法问题,输入C4中输入的是数字1等,公式应改为 =LOOKUP(,0\/FIND({"",1,"B","C"},C4),{"",2,"李四","王五"})就是1外面不能有引号...

...数字便可自动变成对应的字符串,如“张三”“李四”等
1.这个用自动更正非常简单。工具-自动更正选项- 替换1为张三,添加 替换2为李四,添加 替换3为王五,添加 ...然后在单元格里面只输入1.回车后这个单元格自动变成了"张三"。(输入21是不会变成"李四张三"的)用完最好删除,否则会影响正常的数据输入。或者使用001这样的字符串来表示会好一点。因为正常的数...

相似回答