Php 在foreach上添加分隔符的计数器
我有一个foreach可以在Wordpress上的一篇文章中添加术语,这篇文章非常有效。代码如下:Php 在foreach上添加分隔符的计数器,php,wordpress,foreach,Php,Wordpress,Foreach,我有一个foreach可以在Wordpress上的一篇文章中添加术语,这篇文章非常有效。代码如下: <h3> <?php foreach($terms as $term) {?> <?php echo $term->name;?> <?php } ?> </h3> 但是,我需要添加一个计数器,以便如果中有多个术语,它会在它们之间添加一个/。例如: <h3>Term Name</h3> <
<h3>
<?php foreach($terms as $term) {?>
<?php echo $term->name;?>
<?php } ?>
</h3>
但是,我需要添加一个计数器,以便如果
中有多个术语,它会在它们之间添加一个/。例如:
<h3>Term Name</h3>
<h3>Term Name / Term Name / Term Name</h3>
术语名称
术语名称/术语名称/术语名称
这是代码,我到目前为止,但它不工作
<?php
$i = 1;
foreach($terms as $term) {
if($i == 1){
echo ' / '.$term->name;
} else {
echo $term->name;
}
$i++;
} ?>
请尝试下面的代码
<?php $terms = array_values($terms);
if( sizeof($terms) > 1){ ?>
<h3><?php echo implode(' / ', array_map(function($term) { return $term->name; }, $terms)); ?></h3>
<?php }else{ $term = $terms[0]; ?>
<h3>echo $term->name;</h3>
<?php } ?>
echo$term->name;
您不需要使用计数器。只需将每个$term->name
放入一个数组,并将其内爆:
echo内爆('/',数组_映射(函数($term){return$term->name;},$terms))代码>
以下是工作解决方案:)
您的$i是第一个循环的一个,但您需要/在第一次通过后,尝试$i==2您不需要在末尾使用
您的代码有问题。首先,问号(?)出现在if和else语句中,您犯了一个逻辑错误。如果$i等于1,那么您不需要/,您需要/on-else语句。祝您自己的代码好运。如何删除尾随斜杠?Thsi是一个简单的代码,不使用任何内置函数:)
<?php
$i = 1;
foreach($terms as $term) {
if($i > 1) {
echo ' / '.$term->name;
} else {
echo $term->name;
$i++;
}
}
?>
<?php
$terms = array("Term One","Term Two","Term Three","Term Four");
$i = 1;
$result="";
foreach($terms as $term)
{
if($i==1)
{
$result=$result.$term.' ';
$i++;
}
else
{
$result=$result."/".' ';
$result=$result.$term.' ';
}
}
echo $result;
?>