-1

这是我正在处理的代码。

function calculate_cuisine_type() {
    if ($max == $total2) {
        echo $cItalian;
    } elseif ($max == $total3) {
        echo $cFrench;
    } elseif ($max == $total4) {
        echo $cChinese;
    } elseif ($max == $total5) {
        echo $cSpanish;
    } elseif ($max == $total6) {
        echo $cIndian;
    }
}

我想要做的是计算不同食谱的“美食类型”,我的小程序使用谷歌 API 返回特定食谱标题的“点击”数量 - 即馄饨- 然后计算“凝聚力”比率将该数字(即100)除以另一个查询的返回命中 - 即(馄饨 + Chinese = 50)。因此,如果您发现我的想法,凝聚力因子将为 2。

现在,我可以让它显示和计算得很好,但是当尝试将最终的美食类型添加到 XML 文档时出现问题,这段代码是否必须在某种函数中?为了在这里调用它:(实际的 XML 添加代码工作正常)

 $ctNode = $xdoc ->createTextNode (*stuff to be added*);

所以,基本上我要问的是,有没有一种方法可以将 IF 语句的最终输出分配给另一个变量以在其他地方使用,或者这是否必须通过函数来​​完成,所以当函数被调用时;它返回 IF 语句的最终结果。

编辑: 感谢https://stackoverflow.com/users/1044644/ivo-pereira解决了问题

最终代码,如果有人感兴趣。

$total = array(
                2 => $total2,
                3 => $total3,
                4 => $total4,
                5 => $total5,
                6 => $total6
            );

        $max = max(array($total2, $total3, $total4, $total5, $total6));

        echo'The highest cohesion factor is: ' . $max;  

                function calculate_cuisine_type($max,$total) {                                      
                    if ($max == $total[2]) {
                        $type = 'Italian';
                    } elseif ($max == $total[3]) {
                        $type = 'French';
                    } elseif ($max == $total[4]) {
                        $type = 'Chinese';
                    } elseif ($max == $total[5]) {
                        $type = 'Spanish';
                    } elseif ($max == $total[6]) {
                        $type = 'Indian';
                    }
                    return $type;
                    }

                    $type = calculate_cuisine_type($max,$total);
4

1 回答 1

1

这将帮助您在实际情况下更好地组织代码:

<?php
$total = array(
    //these numbers are random, just to get the function working. you can change this of course
    2 => 0,
    3 => 3,
    4 => 7,
    5 => 10,
    6 => 14
);

$max = 10;

function calculate_cuisine_type($max,$total) {
    if ($max == $total[2]) {
        $type = 'Italian';
    } elseif ($max == $total[3]) {
        $type = 'French';
    } elseif ($max == $total[4]) {
        $type = 'Chinese';
    } elseif ($max == $total[5]) {
        $type = 'Spanish';
    } elseif ($max == $total[6]) {
        $type = 'Indian';
}
    return $type;
}

$type = calculate_cuisine_type($max,$total);
$ctNode = $xdoc ->createTextNode ($type);

?>

试着把这类内容整理成数组,对你有很大帮助!并且不要忘记将您的数据作为参数传递给函数,否则在这种情况下将不会读取它们。

于 2013-01-22T11:07:28.093 回答