分解分隔字符串而不创建空元素

发布于 2024-11-26 04:13:24 字数 188 浏览 1 评论 0原文

$string = "|1|2|3|4|";
$array = explode("|", $string, -1); 

foreach ($array as $part) {
    echo $part."-";
}

我在爆炸中使用-1来跳过最后一个“|”在字符串中。但是如果我也想跳过第一个“|”怎么办?

$string = "|1|2|3|4|";
$array = explode("|", $string, -1); 

foreach ($array as $part) {
    echo $part."-";
}

I use -1 in explode to skip the last "|" in string. But how do I do if I also want to skip the first "|"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

迟到的我 2024-12-03 04:13:24

您可以使用 trim 从开头剥离 |和字符串的末尾,然后可以使用爆炸。

$string = "|1|2|3|4|";
$array = explode("|", trim($string,'|')); 

You can use trim to Strip | from the beginning and end of a string and then can use the explode.

$string = "|1|2|3|4|";
$array = explode("|", trim($string,'|')); 
小糖芽 2024-12-03 04:13:24

preg_split() 及其 PREG_SPLIT_NO_EMPTY 选项,在这里应该可以解决问题。

还有一个很大的优点:即使在字符串的中间,它也会跳过空的部分——而不仅仅是在字符串的开头或结尾。

以下部分代码:

$string = "|1|2|3|4|";
$parts = preg_split('/\|/', $string, -1, PREG_SPLIT_NO_EMPTY);
var_dump($parts);

会给你这个结果数组:

array
  0 => string '1' (length=1)
  1 => string '2' (length=1)
  2 => string '3' (length=1)
  3 => string '4' (length=1)

preg_split(), and its PREG_SPLIT_NO_EMPTY option, should do just the trick, here.

And great advantage : it'll skip empty parts even in the middle of the string -- and not just at the beginning or end of it.

The following portion of code :

$string = "|1|2|3|4|";
$parts = preg_split('/\|/', $string, -1, PREG_SPLIT_NO_EMPTY);
var_dump($parts);

Will give you this resulting array :

array
  0 => string '1' (length=1)
  1 => string '2' (length=1)
  2 => string '3' (length=1)
  3 => string '4' (length=1)
初见 2024-12-03 04:13:24

先取一个子串,然后爆炸。
http://codepad.org/4CLZqkle

<?php

$string = "|1|2|3|4|";
$string = substr($string,1,-1);
$array = explode("|", $string); 

foreach ($array as $part) {
    echo $part."-";
}
echo PHP_EOL ;

/* or use implode to join */
echo implode("-",$array);

?>

take a substring first, then explode.
http://codepad.org/4CLZqkle

<?php

$string = "|1|2|3|4|";
$string = substr($string,1,-1);
$array = explode("|", $string); 

foreach ($array as $part) {
    echo $part."-";
}
echo PHP_EOL ;

/* or use implode to join */
echo implode("-",$array);

?>
少女的英雄梦 2024-12-03 04:13:24

您可以使用 array_shift() 删除数组中的第一个元素。

You could use array_shift() to remove the first element from the array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文