나는 길이가 긴 if..else
함수를 모듈화하려고합니다.문자열에 논리 비교를 저장할 수 있습니까?
$condition = "$a < $b";
if($condition)
{
$c++;
}
리터럴 문자열을 논리식으로 변환하는 방법이 있습니까?
나는 길이가 긴 if..else
함수를 모듈화하려고합니다.문자열에 논리 비교를 저장할 수 있습니까?
$condition = "$a < $b";
if($condition)
{
$c++;
}
리터럴 문자열을 논리식으로 변환하는 방법이 있습니까?
나는 긴 if..else 함수를 모듈화하려고하고있다.
당신은 단지 부울 true
또는 false
저장, 그것을위한 문자열의 조건을 넣을 필요가 없습니다 : 정의 사이에서 변경 될 수 있습니다 $ a와 $ B의
$condition = ($a < $b);
if($condition)
{
$c++;
}
값을 $ 조건 및 그 사용법의 예 :
하나의 해결책은 클로저 (정의와 사용이 동일한 범위에서 발생한다고 가정)입니다.
그러나 나는 당신이 달성하려는 것을 원격으로 알지 못해서 이것이 당신에게 의미가 있는지 알지 못합니다.
<?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
이것은 PHP에서는 작동하지 않습니다.'$ a'와'$ b'는 함수 범위에서 사용할 수 없습니다. –
그들은 .-. .-. –
@ RicardoOrtegaMagaña'global $ a, $ b; '를 사용하지 않는 한 가장 확실한 것은 없습니다. –
사용 람다 당신이 결과를 결정하기에 충분 변수를 알고 있다면
$f = function ($a, $b) { return $a < $b; }
if ($f($x, $y)){}
+1. 비록 당신이 여기에 람다를 필요는 없지만, 그냥 평범한 함수 선언은 잘 할 것이다. :) –
당신 * * eval''이 작업을 수행 할 수 있지만 표준 접근 방식은 어쩌면 ... –
을 기능의 무리를 정의하는 것 당신은 "모듈화 (modularise)"를 정확히 의미하는지 설명해야합니다. –
길게는 if..else 블록 (기능 아님)을 표시하십시오. 나는 거의 확실하다. 해결책은 '모듈화'가 아니다. – markus