Php 如何查找数组的最后一项?
我有一个包含三个对象的数组:Php 如何查找数组的最后一项?,php,Php,我有一个包含三个对象的数组: Ob1 Ob2 Ob3 我尝试了以下方法: $args = array('child_of' => 184); $categories = get_the_category($post->ID, $args); $i = 0; $len = count($categories); foreach($categories as $cat) { if ($i == 0) { echo '<li><h2><
Ob1
Ob2
Ob3
我尝试了以下方法:
$args = array('child_of' => 184);
$categories = get_the_category($post->ID, $args);
$i = 0;
$len = count($categories);
foreach($categories as $cat) {
if ($i == 0) {
echo '<li><h2><a href="'.get_category_link($cat->cat_ID).'">'.$cat->name.', </a></h2></li>';
} else if ($i == $len - 2) {
echo '<li><h2><a href="'.get_category_link($cat->cat_ID).'">'.$cat->name.'</a></h2></li>';
}
$i++;
}
基本上,如果它是最后一项,我不想要逗号,但我不确定代码有什么问题,为什么它只显示两个值
如果我这样做:
var_dump($len);
它为我提供了
int(3)
您只希望您的$i
条件逻辑应用于$len-1
最简单的方法是简单地交换条件并将其偏移1:
foreach($categories as $cat) {
if ($i == $len - 1) {
echo '<li><h2><a href="'.get_category_link($cat->cat_ID).'">'.$cat->name.'</a></h2></li>';
} else {
echo '<li><h2><a href="'.get_category_link($cat->cat_ID).'">'.$cat->name.', </a></h2></li>';
}
$i++;
}
foreach($categories as$cat){
如果($i==$len-1){
回音“”;
}否则{
回音“”;
}
$i++;
}
您只希望您的$i
条件逻辑应用于$len-1
最简单的方法是简单地交换条件并将其偏移1:
foreach($categories as $cat) {
if ($i == $len - 1) {
echo '<li><h2><a href="'.get_category_link($cat->cat_ID).'">'.$cat->name.'</a></h2></li>';
} else {
echo '<li><h2><a href="'.get_category_link($cat->cat_ID).'">'.$cat->name.', </a></h2></li>';
}
$i++;
}
foreach($categories as$cat){
如果($i==$len-1){
回音“”;
}否则{
回音“”;
}
$i++;
}