$all_categories = get_cats($cat);
echo "  "."Sons";
for ($i=0;$i<sizeof($all_categories);$i++) {
$arr = get_gender($cat);
if ($arr[$i]=='0') {
echo "  ".$all_categories[$i].",";
}
}
echo "  "."Daughters";
for ($i=0;$i<sizeof($all_categories);$i++) {
$arr = get_gender($cat);
if ($arr[$i]=='1') {
echo "  ".$all_categories[$i].",";
}
}
在$all_categories
我得到了所有给定ID的孩子,get_cats
和get_gender
都是函数。
0
适用于男性,1
适用于女性。我想首先显示“儿子”这个词,然后再显示他们的名字,然后再计算儿子的数量,然后再写上“女儿”及其名字和女儿的数量。
现在我正在显示“儿子”这个词然后他们的名字,然后是“女儿”这个词和他们的名字,但即使给定身份证没有孩子,也会显示“儿子”和“女儿”这两个词。
答案 0 :(得分:2)
未经测试的代码添加了更多未经测试的代码:-) 因为你不知道你是否有'儿子',直到你进入'for'循环,并且可能没有。你必须打印“第一次”打印任何'儿子'的标题。唉,这意味着你当前代码的'first_time'标志。
编辑显示子计数。然后我希望答案能被接受。
在一行上添加了所有名称的打印,然后是计数。
分别添加存储计数,并在计数上显示简单的'和'测试。
$all_categories = get_cats($cat);
$headingPrinted = false;
$sonCount = 0;
$outputLine = '';
for ($i=0;$i<sizeof($all_categories);$i++) {
$arr = get_gender($cat);
if ($arr[$i]=='0') {
if (!$headingPrinted) {
$outputLine .= "  "."Sons";
$headingPrinted = true;
}
// append to the current outputLine...
$outputLine .= "  ".$all_categories[$i].",";
$sonCount++;
}
}
// print $outputline and child count if at least one was found. show plural if more than one
if ($sonCount >= 1) {
echo $outputLine, $childCount, $childCount == 1 ? 'son': 'sons', ' found';
}
else {
// you may want to do something if none found
}
// repeat for the other heading
$headingPrinted = false;
$daughterCount = 0;
$outputLine = '';
for ($i=0;$i<sizeof($all_categories);$i++) {
$arr = get_gender($cat);
if ($arr[$i]=='1') {
if (!$headingPrinted) {
$outputLine .= "  "."Daughters";
$headingPrinted = true;
}
// append to the current outputLine...
$outputLine .= "  ".$all_categories[$i].",";
$daughterCount++;
}
}
// print child count if at least one was found
if ($daughterCount >= 1) {
echo $outputLine, $childCount, $childCount == 1 ? 'daughter': 'daughters', ' found';
}
else {
// you may want to do something if none found
}
// test combined totals of children...
if ($sonCount == 1 && daughterCount == 1) {
echo 'wow - one of each';
}