Я определил эту функцию в php
function ifstatement($statement = 'if(10 > 9;1+1;2+2)') {
// $statement = str_replace(' ', '', $statement);
if (strpos($statement, 'if(') > -1) {
$statement = rtrim(ltrim(str_replace(' ', '', $statement), 'if('), ')');
$exp = explode(';', $statement);
if ( $exp[0] ) {
if (strpos($exp[1], 'if(' )> -1) {
return ifstatement($exp[1]);
} else {
return 1;
}
} else {
if (strpos($exp[2], 'if(')> -1) {
return ifstatement($exp[2]);
} else {
return 0;
}
}
}else{
echo 'out';
}
}
проблема в том, что функция всегда возвращает 1, даже если условие в операторе if в аргументе функции ложно, что проверено с
if($exp[0])
похоже, что $exp[0]
представляет собой строку, как я могу обойти это, чтобы проверить, как если бы аргумент