当前位置: 首页 > 面试题库 >

用“,”放大数组,并在最后一项之前添加“ and”

姬魁
2023-03-14
问题内容

该数组包含一个项目列表,我想将其转换为字符串,但是我不知道如何使最后一个项目前带有&/和而不是逗号。

1 => coke 2=> sprite 3=> fanta

应该成为

coke, sprite and fanta

这是常规的爆破功能:

$listString = implode(', ', $listArrau);

有什么简单的方法吗?


问题答案:

可处理任何数量项目的长衬板:

echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($array, 0, -1))), array_slice($array, -1)), 'strlen'));

或者,如果您 真的 更喜欢冗长:

$last  = array_slice($array, -1);
$first = join(', ', array_slice($array, 0, -1));
$both  = array_filter(array_merge(array($first), $last), 'strlen');
echo join(' and ', $both);

关键是,这种切片,合并,过滤和联接可以正确处理 所有 情况,包括0、1和2项目,而无需额外的if..else语句。而且它恰好可以折叠成单线。



 类似资料:
  • 我有一个作为模板的电子表格,最后两行以某种特定的方式格式化(颜色和字体)。 它看起来像这样: 我想做的是插入尽可能多的“占位符”行,让最后一行“滑”下来。 到目前为止,我尝试了,它确实插入了新行,但不会向下移动最后一行的颜色。这样我就可以在电子表格中找到我想要的数据,但是颜色格式错误(基本上第三行总是有彩色背景,而最后一行没有)。 我想做的伪代码是: 计算我需要添加多少占位符行, 获取电子表格 剪

  • 我正在开发一款使用强化学习的赛车游戏。为了训练模型,我在实现神经网络时面临一个问题。我找到了一些使用CNN的例子。但似乎添加额外的LSTM层将提高模型效率。我找到了以下示例。 https://team.inria.fr/rits/files/2018/02/ICRA18_EndToEndDriving_CameraReady.pdf 我需要实施的网络 问题是我不确定如何在这里实现LSTM层。我如何

  • 如何使用Alembic或SQLAlchemy将一列接一列地添加到数据库中?这相当于SQL子句: 我也在邮件列表中尝试了这个建议,但没用。 虽然在查询时顺序无关紧要,但在SQL shell中,它有助于提高大型表的可读性。

  • 我的样本json如下所示 基本上,我想在Passenger数组后面添加“paxend”:“true”。我们如何使用Jolt实现这一点?非常感谢任何帮助。我很抱歉没有发布我的颠簸规格,因为它不起作用。

  • 给定一个非负整数数组,设计最简单的算法来找到最大大小的子数组,并将其加到最小的值。 我的想法是,因为它们是非负整数,所以和最小的数组总是单个单元数组,只有原始数组的最小值。如果我理解正确的话,它取决于什么具有更高的优先级,具有更高的长度或更小的值。然而,这个问题从来没有明确说明哪一个优先。 我在这个问题上是正确的,还是我遗漏了什么?

  • 问题内容: 我有以下数组。 我想删除最后一个元素,即2。 我用过,但不会删除值。 问题答案: 使用拼接(索引,多个)