• April 27, 2018
    $number = "1+2"; eval('$rs='.$number.';');
    echo $number , '=', $rs;
    $number='1+2';
    if(preg_match_all( '/^(\d+)([\*\/\+\-])(\d+)$/', $number, $match)){
    	echo '<pre>',print_r($match, true),'</pre>';
    	switch( $match[2][0]){
    	case '*': $rs=($match[1][0]*$match[3][0]); break;
    	case '/': $rs=($match[1][0]/$match[3][0]); break;
    	case '+': $rs=($match[1][0]+$match[3][0]); break;
    	case '-': $rs=($match[1][0]-$match[3][0]); break;
    	}
    }else $rs="not nuberic funciton";
    echo $number,'=',$rs;

    $match เป็นค่าที่ คำสั่ง preg_match_all ส่งค่ากลับมาให้เรา ในรูปแบบ array
    ว่า ค้นหาอะไรเจอบ้าง อ้างอิง จากวงเล็บที่เราสร้างครอบส่วนที่ต้องการให้มีการส่งค่ามา

    print_r( $match) ดู ศึกษาว่ามันส่งอะไรมาครับ หา regular expression มาอ่านเพิ่ม

    preg_match() สิินะครับ มันเป็นเรื่องของ regular expression ซึ่งเป็นอีกภาษาหนึ่งเลยก็ว่าได้ ถือเป็นเรื่องขั้นสูงครับ จะสอนกันจริงๆ เป็นหนังสือเล่มนึงได้เลย

    erige จะเลิกใช้แล้ว ใช้เป็นpreg_match()

    ถ้าไม่มีตัวอย่างโค้ดมาให้อธิบายเลย แล้วจะให้อธิบายตั้งแต่เริ่ม เนื้อหามันเยอะมากครับ สำหรับ PCRE (perl-compatible regular expression) เข้าใจยากมากๆ ด้วย

    http://www.php.net/manual/en/reference.pcre.pattern.syntax.php
    http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php



เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories