$val = $_POST['val'];
$balance = 0;
function test($val, $balance){
if(!preg_match("/^\d+(\.\d+)?$/i",$val) || $val<=0){
return false;
}
if($val>$balance){
return false;
}
return true;
}
var_dump(test($val, $balance));
<?php
$val = '-1';
$balance = 0;
if(!is_numeric((int) $val) || $val<=0){
echo 1; exit();
}
if($val>$balance){
echo 2; exit();
}
echo 3; exit();