2010/01/24

PHP: Array буюу массивын талаар

Аливаа програмчлалын хэлэнд Array буюу массив(хүснэгт) гэсэн ойлголт гарч ирдэг. Элемэнтүүдийг массивт хадгалах ба тэдэнд индексээр нь ханддаг. Ихэнх програмчлалын хэлэнд индекс нь зөвхөн 0, 1, 2... гэх мэт бүхэл тоогоор ханддаг бол PHP хэлэнд массивийн индекс нь тоо, string буюу тэмдэгт мөр ч хүртэл байж болдог маш уян хатан, "хайр татсан" эд байгаа юм :)

Хамгийн эхний жишээ:
Бүхэл тоон индексээр анхны утга оноов. Комэнт болгосон хэлбэрээр зарласан нь чанарын ялгаа гарахгүй, гэхдээ та тухайн нөхцөлд нь тохируулж алийг хэрэглэхээ шийднэ биз ээ.
<?php
        $lessons[]='Introduction to Programming';
        $lessons[]='Object Oriented Programming';
        $lessons[]='Computer structure and Assembler';
        $lessons[]='Datastructures and Algorithms';
        /*
        $lessons[0]='Introduction to Programming';
        $lessons[1]='Object Oriented Programming';
        $lessons[2]='Computer structure and Assembler';
        $lessons[3]='Datastructures and Algorithms';
        */
        for($i = 0; $i < 4; $i++){
                echo "$"."lessons[".$i."] = ".$lessons[$i]."<br>";
        }
?>

Мөн массив үүсгэхэд шууд анхны утга оноож бичихээс гадна array() функцийг ашиглаж болдог.
<?php
        $lessons = array('Introduction to Programming',
                        'Object Oriented Programming',
                        'Computer structure and Assembler',
                        'Datastructures and Algorithms');
        for($i = 0; $i < 4; $i++){
                echo "$"."lessons[".$i."] = ".$lessons[$i]."<br>";
        }
?>
foreach loop
<?php
        /*
        $lessons['CS200'] = 'Introduction to Programming';
        $lessons['CS203'] = 'Object Oriented Programming';
        $lessons['CS201'] = 'Computer structure and Assembler';
        $lessons['CS204'] = 'Datastructures and Algorithms'; 
        */
        $lessons = array('CS200' => 'Introduction to Programming',
                         'CS203' => 'Object Oriented Programming',
                         'CS201' => 'Computer structure and Assembler',
                         'CS204' => 'Datastructures and Algorithms'); 
                    
        echo "CS201 is ".$lessons['CS201']."<br><br>";   

        foreach ($lessons as $code => $value){
                print "$code is $value<br>";
        }
        //Массивийн индекс бүхэл тоогоор өгөгдөөгүй тохиолдолд
        //foreach давталт ашиглаж болно               
?>

Өгөгдсөн хувьсагч нь массив мөн эсэхийг шалгахдаа is_array() функцийг ашигладаг. Хэрэв массив бол true үгүй бол false утга буцаана.
<?php
        $lessons = array('Introduction to Programming',
                        'Object Oriented Programming',
                        'Computer structure and Assembler',
                        'Datastructures and Algorithms');
        $credit = 3;
        echo is_array($lessons) ? 'Yes<br>' : 'No<br>';
        echo is_array($credit) ? 'Yes<br>' : 'No<br>';
?>

Массивыг эрэмбэлэх
<?php
        $lessons = array('Introduction to Programming',
                        'Object Oriented Programming',
                        'Computer structure and Assembler',
                        'Datastructures and Algorithms');
        $size = count($lessons);
        echo $size."<br>";
        //массивт хичнээн элемэнт агуулагдаж байгааг 
        //count() функцээр олно.
        sort($lessons);
        for($i = 0; $i < 4; $i++){
                print $lessons[$i]."<br>";
        }
?>
Массивыг эрэмбэлэхэд sort() функцийг ашиглана. Массив ямар төрлийн болохоос шалтгаалан
sort_flag
sort_regular
sort_numeric
sort_string
sort_locale_string функцуудыг ашиглах боломжтой.

1 comment:

  1. yoo ymr dawartsiim bee ene chin. $lesson[cs203] gej massiw awaad bhda yadin ..

    ReplyDelete

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