예제 #1
0
/**
 * disj one or more goals without nesting.
 */
function disjPlus($g)
{
    $gs = func_get_args();
    if (func_num_args() === 1) {
        return zzz($g);
    } else {
        return disj(zzz($g), call_user_func_array('MicroKanren\\Core\\disjPlus', array_slice($gs, 1)));
    }
}
예제 #2
0
/**
 *
 * @param object $obj
 * @param string $func
 * @param array $params
 */
function zzzWhileObjectFunctionFalse($obj, $func, $params)
{
    if (!is_array($params)) {
        $params = array($params);
    }
    while (true) {
        if (!call_user_func_array(array($obj, $func), $params)) {
            zzz();
        } else {
            return;
        }
    }
}
예제 #3
0
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PHP基礎</title>
</head>
<boby>

<?php 
//課題3:引き数が3つの関数を定義する。1つ目は適当な数値を、2つ目はデフォルト値が5の数値を、
//最後はデフォルト値がfalse(bool値)の$typeを引き数として定義する。1つ目の引き数に2つ目
//の引き数を掛ける計算をする関数を作成し、$typeがfalseの時はその値を表示、trueのときは
//さらに累乗して表示する。
//例)function sample($□□□, $△△△, $type) // 引数が3つの関数書き出し部分(デフォルト値なし)
function zzz($g1, $g2 = 5, $type = false)
{
    $g4 = $g1 * $g2;
    if ($type === true) {
        $g5 = $g4 * $g4;
        print "{$g5}";
    } else {
        print "{$g4}";
    }
}
$a = 100;
$d = 6;
$b = true;
zzz($a, $d, $b);
?>

</body>
</html>