長いif..else
関数をモジュール化しようとしています。
$condition = "$a < $b";
if($condition)
{
$c++;
}
リテラル文字列を論理式に変換する方法はありますか?
長いif..else
関数をモジュール化しようとしています。
$condition = "$a < $b";
if($condition)
{
$c++;
}
リテラル文字列を論理式に変換する方法はありますか?
長い if..else 関数をモジュール化しようとしています。
そのために条件を文字列に入れる必要はありません。ブール値true
またはを保存するだけfalse
です:
$condition = ($a < $b);
if($condition)
{
$c++;
}
$a と $b の値は、$condition の定義とその使用法の間で変わる可能性があります
1 つの解決策は Closure です (定義と使用が同じスコープで行われていると仮定します)。
$condition = function() use (&$a, &$b) {
return $a < $b;
}
$a = 1;
$b = 2;
if ($condition()) {
echo 'a is less than b';
}
しかし、あなたが何を達成しようとしているのかをリモートで知らなければ、これがあなたにとって意味があるかどうかはわかりません.
結果を決定するのに十分な変数がわかっている場合は、ラムダを使用します
$f = function ($a, $b) { return $a < $b; }
if ($f($x, $y)){}
evalを使用してこれを行うことができます。ただし、すぐに条件を評価しない理由がわかりません。
<?php
$a=0;
$b=1;
function resultofcondition()
{
global $a,$b;
return $a<$b;
}
if(resultofcondition()){
echo " You are dumb,";
}else{
echo " I am dumb,";
}
$a=1;
$b=0;
if(resultofcondition()){
echo " You were correct.";
}else{
echo " in your face.";
}
?>
GLOBAL パラメータが欠落していたことをコメントしていただき、本当にありがとうございます。反対票を投じた人のために、そのコードは何を出力しますか? ¬_¬ w/e 楽しんでね xD