我有一个包含三个对象的数组:
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++;
}
但是我明白了
Ob1, Ob2
基本上,如果这是最后一项,我不希望使用逗号,但是我不确定该代码出了什么问题以及为什么它只显示两个值。
如果我这样做:
var_dump($len);
它给了我int(3)
答案 0 :(得分:2)
您只希望将const payload = {
"0": {
"id": "EnterEmailForm.pleaseRegisterHere",
"defaultMessage": "Email n'a pas été trouvé, veuillez vous inscrire ici",
"filepath": "./src/accounts/components/EnterEmailForm/EnterEmailForm.js"
},
"1": {
"id": "EnterEmailForm.alreadyHaveAnAccount",
"defaultMessage": "Vous avez déjà un compte?",
"filepath": "./src/accounts/components/EnterEmailForm/EnterEmailForm.js"
}
};
const output = Object.values(payload).reduce((a, { id, defaultMessage }) => {
a[id] = defaultMessage;
return a;
}, {});
console.log(output);
条件逻辑应用于$i
。
最简单的方法是简单地交换条件并将其抵消一个:
$len - 1