/** * 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))); } }
/** * * @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; } } }
<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>