Php 逗号分隔仅适用于前2个foreach项?
我创建了一个函数,用于在WordPress中显示自定义帖子类型的分类法,但我确信问题与PHP中的某些内容有关:Php 逗号分隔仅适用于前2个foreach项?,php,wordpress,custom-post-type,Php,Wordpress,Custom Post Type,我创建了一个函数,用于在WordPress中显示自定义帖子类型的分类法,但我确信问题与PHP中的某些内容有关: function portfolio_tax($x) { $terms = get_terms($x); $count = count($terms); $commaCheck = 0; foreach($terms as $term) { echo $term->name; if(!$commaCheck >
function portfolio_tax($x) {
$terms = get_terms($x);
$count = count($terms);
$commaCheck = 0;
foreach($terms as $term) {
echo $term->name;
if(!$commaCheck >= $count){echo ', ';}
$commaCheck++;
}
}
然后,我使用
(在同一页面上的两个不同位置用标记替换类别)将它们显示在公文包详细信息页面上
对于最多2个项目,所有项目似乎都可以正常工作,但如果还有,,
将停止显示,如下所示:
标签
海滩,HelloMacro
(当Hello和Macro之间应该有空格时)因为您的语句。你先检查一下$默认情况下,$commaCheck为0,但随后你提升它。因此,这将是错误的 拆下!在$commaCheck之前或将其放入()中,如下所示:
!($commaCheck>=$count)
(我不知道您需要哪种逻辑。带“!”还是不带“!”。因为您的声明。您首先检查!$commaCheck,默认为true,因为$commaCheck为0,但随后您将其提升。因此它将为false 删除$commaCheck之前的!或将其放入()中,如下所示:
!($commaCheck>=$count)
(我不知道您需要哪种逻辑。带“!”还是不带“!”。因为您的声明。您首先检查!$commaCheck,默认为true,因为$commaCheck为0,但随后您将其提升。因此它将为false 删除$commaCheck之前的!或将其放入()中,如下所示:
!($commaCheck>=$count)
(我不知道您需要哪种逻辑。带“!”还是不带“!”。因为您的声明。您首先检查!$commaCheck,默认为true,因为$commaCheck为0,但随后您将其提升。因此它将为false 删除$commaCheck之前的!或将其放入()中,如下所示:
!($commaCheck>=$count)
(我不知道你需要哪种逻辑。带“!”还是不带。如果($commaCheck>=$count){echo',';}请删除“!”如果($commaCheck>=$count){echo',';}请删除“!”如果($commaCheck>=$count){echo',;}请删除“!”如果($commaCheck>=$count echo',”,请删除“;}请尝试删除“!”创建术语名称的映射。然后,您可以从末尾弹出最后一个元素,用逗号将其余元素连接起来,并将弹出的元素重新连接到:
function portfolio_tax($x) {
$term_names = array_map(function($t){
return $t -> name;
}, get_terms($x));
$last = array_pop($term_names);
echo implode(',', $term_names) . ' ' . $last;
}
创建术语名称的映射。然后,您可以从末尾弹出最后一个元素,用逗号将其余元素连接起来,并将弹出的元素重新连接到:
function portfolio_tax($x) {
$term_names = array_map(function($t){
return $t -> name;
}, get_terms($x));
$last = array_pop($term_names);
echo implode(',', $term_names) . ' ' . $last;
}
创建术语名称的映射。然后,您可以从末尾弹出最后一个元素,用逗号将其余元素连接起来,并将弹出的元素重新连接到:
function portfolio_tax($x) {
$term_names = array_map(function($t){
return $t -> name;
}, get_terms($x));
$last = array_pop($term_names);
echo implode(',', $term_names) . ' ' . $last;
}
创建术语名称的映射。然后,您可以从末尾弹出最后一个元素,用逗号将其余元素连接起来,并将弹出的元素重新连接到:
function portfolio_tax($x) {
$term_names = array_map(function($t){
return $t -> name;
}, get_terms($x));
$last = array_pop($term_names);
echo implode(',', $term_names) . ' ' . $last;
}
另一种(更简单的)方法是在每个$term(第一个除外)之前而不是之后回显逗号。在这种情况下,您只需要一个而不是两个计数器变量来检查它是否是第一个元素
function portfolio_tax($x) {
$terms = get_terms($x);
$commaCheck = 0;
foreach($terms as $term) {
if($commaCheck != 0){echo ', ';}
echo $term->name;
$commaCheck++;
}
}
另一种(更简单的)方法是在每个$term(第一个除外)之前而不是之后回显逗号。在这种情况下,您只需要一个而不是两个计数器变量来检查它是否是第一个元素
function portfolio_tax($x) {
$terms = get_terms($x);
$commaCheck = 0;
foreach($terms as $term) {
if($commaCheck != 0){echo ', ';}
echo $term->name;
$commaCheck++;
}
}
另一种(更简单的)方法是在每个$term(第一个除外)之前而不是之后回显逗号。在这种情况下,您只需要一个而不是两个计数器变量来检查它是否是第一个元素
function portfolio_tax($x) {
$terms = get_terms($x);
$commaCheck = 0;
foreach($terms as $term) {
if($commaCheck != 0){echo ', ';}
echo $term->name;
$commaCheck++;
}
}
另一种(更简单的)方法是在每个$term(第一个除外)之前而不是之后回显逗号。在这种情况下,您只需要一个而不是两个计数器变量来检查它是否是第一个元素
function portfolio_tax($x) {
$terms = get_terms($x);
$commaCheck = 0;
foreach($terms as $term) {
if($commaCheck != 0){echo ', ';}
echo $term->name;
$commaCheck++;
}
}
干杯,我需要的是
()
周围缺少的$commaCheck>=$count
,完全没有找到它们:-)因为有急事。以后别忘了:PDamn,我现在每一项都会得到一个,
,它不仅在条件为假时显示,还有什么想法吗?在语句中尝试$count-1谢谢,我需要的是缺少的()
周围的$commaCheck>=$count
,完全没有找到它们:-)因为有急事。以后别忘了:PDamn,我现在每一项都会得到一个,
,它不仅在条件为假时显示,还有什么想法吗?在语句中尝试$count-1谢谢,我需要的是缺少的()
周围的$commaCheck>=$count
,完全没有找到它们:-)因为匆忙。将来别忘了:PDamn,我现在在每一项之后都会得到一个,
,它不仅在条件为false时显示,还有什么想法吗?在语句中尝试$count-1谢谢,我需要的是$commaCheck>=$count
周围缺少的(
),因为匆忙而完全错过了它们:-)。将来别忘了:PDamn,我现在在每个项目后都会得到一个,
,它不仅在条件为false时显示,还有什么想法吗?在语句中尝试$count-1谢谢,但需要代码>,Tamás回答正确谢谢,但需要代码>,Tamás回答正确谢谢,但需要代码>,Tamás回答正确谢谢,但需要代码>,Tamás有正确的答案,我会在未来牢记这一点,但是我会继续Tamás的答案,因为这是我所缺少的!我将在未来铭记这一点,但我会接受塔马斯的答案,因为这正是我所缺少的!我将在未来铭记这一点,但我会接受塔马斯的答案,因为这正是我所缺少的!我将在未来铭记这一点,但我会接受塔马斯的答案,因为这正是我所缺少的!