2011-05-07 72 views
1

你好我有一个非常NOOB的问题,我想知道答案。首先我的编程语言是VB6,有我可以使用分割方法像PHP,但主要尊重是,当我使用此代码:PHP拆分字符串

$page_array = split('12s12d1a351c12a55a', 'a', 0); 
echo count($page_array); 

我得到的结果为“1”,其中我必须得到超过1。所以错在哪里?你可以帮我吗?

回答

0

你是设置你的极限为0,因此,你将检索整个字符串作为1号线(没有裂痕) 删除,0将拆分声明,也实在是(分隔符,字符串)不(字符串分隔符) - > PHP有一些向后命令

尝试:

$ page_array =分裂( '一个', '12s12d1a351c12a55a'); echo count($ page_array);这应该产生

:4

+0

感谢它帮 – Volter 2011-05-07 16:36:09

+0

@Shakti辛格良好的渔获物的弃用,讽刺的是我用爆炸所有的时间,甚至没有抓住答案的那一部分!奖励! – 2011-05-07 16:41:29

+0

为什么使用exmplode比split更好? – Volter 2011-05-07 16:45:17

2

首先,分割()已过时。看看docs

另外:你用最后一个参数来限制结果。

array split (string $pattern , string $string [, int $limit = -1 ]) 
1

如果limit被设置,则返回的数组 将最大极限的含有 元素与包含字符串的整个其余部分的最后一个元素 。

这是因为你的限制设置为0,不使用split它已被弃用尝试explode代替

$page_array = explode('a','12s12d1a351c12a55a'); 
echo count($page_array); 
+0

感谢兄弟帮助!!!! – Volter 2011-05-07 16:37:16

1

它要检查手工是很重要的。 split()的PHP手册很有用。

你的代码应该是:$page_array = split('a', '12s12d1a351c12a55a');

2

如果你检查你看,你将限制设置为0的文档: http://php.net/manual/en/function.split.php

split (string $pattern , string $string [, int $limit = -1 ]) 

与爆炸正确的方式(最好丹分) :

$page_array = explode('12s12d1a351c12a55a', 'a'); 
echo count($page_array);