|  | 
	                
  
    | 
	 
        เขียน PHP ให้เช็ค Expression ครับ ในกรณีที่เกิด Error ได้แก่ +2+8,5++5,8+9- ในกรณีที่ถูก 5+5,6+3+5*8     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | Code (PHP) 
 function check_formula( $s ){
	echo preg_match( '/^[0-9]+([\+\-\*\/][0-9]+)+(,[0-9]+([\+\-\*\/][0-9]+)+)*$/' , $s) ? 'ok' : 'wrong';
	echo '<pre>', print_r(explode(',', $s), true),'</pre>';
}
 |  
              | 
 ประวัติการแก้ไข
 2015-09-14 19:32:42
 2015-09-14 19:40:14
 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-09-14 19:05:56 | By :
                            NewbiePHP |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | คำสั่งแยกดัวย element ใช้ explode() ลองหาอ่านดูครับ เมื่อแยก ด้วย คอมม่าแล้ว
 ก็ให้แยก ด้วย operator ก็จะได้ operand
 แยกด้วย operand ก็จะได้ operator ลองดูครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-09-14 20:50:30 | By :
                            NewbiePHP |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เข้าใจละครับ แต่ใน explode จะกำหนดยังไงให้ได้หลายๆตัวครับ ตัวต้องการแยก 
 Code (PHP)
 
 <?php
function check_ex( $s )
{
	$op = array('+','-','*','/');
	$num = array('0','1','2','3','4','5','6','7','8','9');
	echo preg_match( '/^[0-9]+([\+\-\*\/][0-9]+)+(,[0-9]+([\+\-\*\/][0-9]+)+)*$/' , $s) ? 'ok' : 'wrong';
	echo "<br>";
	echo "<br>";
	if (!preg_match( '/^[0-9]+([\+\-\*\/][0-9]+)+(,[0-9]+([\+\-\*\/][0-9]+)+)*$/' , $s))
	{
	
	echo"Expression Invalid";
	}
		else
		{
			echo"Expression is valid";
				echo "<br>";
			echo"Operand";
			
			echo '<pre>', print_r(explode('+', $s), true),'</pre>';
			
			echo"Operator";
			echo '<pre>', print_r(explode('0', $s), true),'</pre>';
			
		}
}
check_ex("05*65+9+8");
?>
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2015-09-15 09:56:58 | By :
                            meatspin |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |