php如何从php中的字符串中删除最后一个字符[重复]
Posted
技术标签:
【中文标题】php如何从php中的字符串中删除最后一个字符[重复]【英文标题】:php how to strip last character from string in php [duplicate] 【发布时间】:2021-04-27 13:31:00 【问题描述】:我试图从字符串中删除最后一个,
,但没有成功。
我需要这样的字符串:2,3,4
但是当试图剥离最后一个,
时,我得到的输出是:234
而不是2,3,4
$alldays = array('2','3','4');
foreach($alldays as $day)
$string = $day.',';
$string_without_last_comma = substr($string, 0, -1);
echo $string; // output: 2,3,4,
echo $string_without_last_comma; // output: 234 ( should be 2,3,4)
我怎样才能做到这一点?
【问题讨论】:
提示:implode
.
$string
仅存在于循环内,因此您要添加逗号,并在下一行删除。 implode
不是更好的解决方案吗?
是的,implode
存在,但对于更一般的情况:首先不要添加额外的逗号!这会变得更容易,如果你把逻辑反过来——不要在每个项目之后添加逗号,而是在之前添加逗号。然后您只需要处理第一项的情况 - 您可以通过检查 $string
是否仍然为空来轻松完成。如果是,那么您将要向其添加第一项,因此无需在其前面添加逗号。
我同意。 implode
解决了这个问题。谢谢
【参考方案1】:
回答
使用implode()
<?php
$alldays = array('2','3','4');
$string = implode(',', $alldays);
echo $string;
Try it online!
调试
让我们看一下代码
<?php
// Define alldays
$alldays = array('2','3','4');
// For each day
foreach($alldays as $day)
// Create(=) a string, add $day and a comma
$string = $day.',';
// Remove the last char from $string and save ('NOT ADD') in $string_without_last_comma
$string_without_last_comma = substr($string, 0, -1);
// Show string
echo $string;
// Show string with last char
echo $string_without_last_comma;
// String here is the last char?
echo $string;
所以循环确实显示了所有这些值,但它们并没有相互添加,每次循环迭代只显示一次。
回顾;
-
由于您正在执行
$string = $day.',';
,因此您将覆盖 $string
每个循环
$string_without_last_comma
相同;你没有附加任何东西,只是覆盖
implode()
会给出想要的结果
修复原代码
注意:纯用于学习目的,我还是会推荐implode()
。
如果不使用implode()
,我猜你是在尝试做这样的事情;
<?php
// Define alldays
$alldays = array('2','3','4');
// Create empty string
$string = '';
// For each day
foreach($alldays as $day)
// Add(.=) $day and a comma
$string .= $day . ',';
// Keep doing this logic for all the $day's in $alldays
// Now $string contains 2,3,4,
// So here we can create $string_without_last_comma by removing the last char
$string_without_last_comma = substr($string, 0, -1);
// Show result
echo $string_without_last_comma;
我们来了
-
创建一个空字符串
循环遍历所有的日子
Add (
.=
) day 到 $string
并添加逗号
循环结束后,我们可以去掉最后一个逗号
显示结果
Try it online!
【讨论】:
感谢您的解释!对我真的有用和有帮助以上是关于php如何从php中的字符串中删除最后一个字符[重复]的主要内容,如果未能解决你的问题,请参考以下文章