2010/01/04

PHP: Function

Өмнөх жишээнүүдэд функц дуудсан жишээ бичсэн юм байна. Гэхдээ энэ бичлэгтээ функцийн талаар жаахан дэлгэрүүлээд бичье.
PHP-д фунцкцийг дараах байдлаар зарлаж ашигладаг.
function функцийн_нэр(аргументууд){
        //функцийн үйлдүүд
        return буцаах_утга;
        //утга буцаадаггүй функц байж болно
}

Жишээ болгоод утга буцаадаггүй, '*' тэмдэгээр дамжуулсан аргументийн хэмжээтэй квадрат үүсгэж хэвлэх жишээ кодыг харуулъя.

<?php
        function printSquare($a){
                for($i = 0; $i < $a; $i++){
                        for($j = 0; $j < $a; $j++){
                                echo '*';
                        }
                        echo "<br>";
                }
        }
        printSquare(7);
?>
Үр дүн нь:

*******
*******
*******
*******
*******
*******
*******

Утга буцаадаг функцийн жишээ болгож дамжуулсан тооны квадратыг олдог, тооны факториал олох рекурсив функцуудийг бичиж үзүүлэв.
<?php
        function square($a){
                return $a * $a;
        }
        function factorial($a){
                if($a == 0) return 1;
                else return $a * factorial($a - 1);
        }
        $n = 5;
        echo $n." toonii kvadrat zereg: ".square($n)."<br>";
        echo $n." toonii factorial: ".factorial($n)."<br>";
?>

6 comments:

  1. Сайн уу?
    Энэ аргументууд нь төрөлөө ямар сонин танидагийн. Яаг ажиллах үед ямар утга авна тэрнүүгээр төрлөө таничихдаг юмуу? Жишээлбэл : String a , Int b ч гэдгийнмуу бичдэгдээ.

    ReplyDelete
  2. хувьсагч нь түүнд ямар утга оноосон тэр төрлөө шууд авчихдаг.. Үнэн уян хатан :D

    ReplyDelete
  3. Чи виртуал машин дээр ажилладаг уу? нэг ёсны Ubuntu , Windows 2-г 2ууланг нь хэрэглэдэг үү л гэж асуух гэж байна л даа. Виртуал машины талаар мэдэх юм байвал хэлээч. Ubuntu туршиж үзэх гэсийн. Ubuntu дээр A ч гүй хүн шүү дээ би. Хүн болгон л ubuntu ubuntu гэчихийн. Нэг Microsoft-ын бүтээлээс нэг салж үзье л дээ. :D

    ReplyDelete
  4. ok. Туршиж үзнээ. Амарсан гэсэн аяатай яасан ч их бичлэг оруулаавээ блогтоо :D

    ReplyDelete
  5. Хэхэ, бөөндчихсөн :D

    ReplyDelete
  6. эрхэм анд минь ажилдаа буцаад орчихсон юм шиг байнашд тэ, зөндөө гоё юм биччихсэн байх шиг байнашд, хэхэ нөгөөдөх чинь юм нэмжүү гээд хартал хэхэ зарим нэг сурууштай юм байгаан байна шүү

    ReplyDelete

Миний бичсэн бичлэг танд өчүүхэн ч болтугай хэрэг болсон бол сэтгэгдлээ бичиж үлдээхийг хүсье. Баярлалаа :)