-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;
    }
}

私がやろうとしているのは、さまざまなレシピの「料理の種類」を計算することです。私の小さなプログラムは、Google API を使用して特定のレシピ タイトルの「ヒット数」を返します。その数、つまり100を、別のクエリで返されたヒット数で割ります ( Wontons + 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 に答える