Chương 9: Mảng (Array)


Chương 9: Mảng (Array) Chúng ta sắp bắt tay vào một khía cạnh rất quan trọng của PHP : Array, các bạn sẽ thấy rằng bọn array giống như những biến phức hợp mà mình có thể tưởng tượng như một cái bảng (hay ma trận) chứa giá trị của biến trong đó ! Chúng ta có thể làm những thứ rất đồ sộ với array, và cách sử dụng array không phải lúc nào cũng dễ nuốt ! Trên thực tế, có thể một chuyên gia nào đó về PHP sẽ ngạc nhiên vô cùng khi thấy mình cùng nhau nói về array trong phần Cơ bản của PHP ! Tôi hướng dẫn các bạn phần này sớm như vậy cũng có lý do : một khi đã hiểu về Array, các bạn sẽ không còn gặp khó khăn gì khi mình học về Cơ Sở Dữ Liệu (phần II của bài viết) ! Vì sự phức tạp của nó, tôi đã quyết định cắt phần này làm 2, tại đây chúng ta sẽ nói về cơ bản, phần « lợi hại » hơn chúng ta sẽ gặp lại trong phần III của bài viết !
  • Trong chương này: 1-9
    • Mảng đánh số
    • Mảng kết hợp
precedent chapter Mục Lục

Mảng kiểu bảng đánh số

Chính xác thì Array là gì ? Một array là một biến, nhưng là một biến đặc biệt ! Cho đến thời điểm này chắc các bạn cũng đã quen mặt với biến rồi ! Ví dụ một biến : Code : PHP <?php $name = "Nicole"; echo "Hello $name !"; // lệnh này sẽ in ra câu : Hello Nicole ! ?> Biến $name ở đây có thể được cụ thể hóa dưới dạng như sau:
Tên biến Giá trị
$name Nicole
Chúng ta sẽ thấy rằng thực ra chúng ta có thể lưu cùng lúc nhiều giá trị cho một biến, chứ không chỉ lưu mỗi một giá trị Nicole duy nhất thôi đâu ! Rất dễ tưởng tượng, ví dụ hãy xem cái bảng sau đây (là những gì mà biến $name chứa)
Số thứ tự Tên
0 Nicole
1 Aladin
2 Tintin
3 Mickey
$name là một Array , cái mà tôi gọi là một biến kiểu bảng( hay mảng) ! Nó không chỉ chứa được 1 mà nhiều giá trị, mình có thể cho nó chứa bao nhiêu giá trị cũng được ! Trong một mảng, giá trị được sắp xếp vào các « ô », mình tưởng tượng rằng mỗi ô được đánh một số (tạm gọi là chỉ số của ô), chẳng hạn ô chứa Nicole được đánh số 0, ô chứa Aladin được đánh số 1,... ! Chú ý, mảng đánh số này luôn luôn bắt đầu bằng số 0 chứ không phải 1 ! Hãy thận trọng về điều này nếu không bạn có nguy cơ bị lỗi đấy ! Làm sao để lấy giá trị trong một ô nào đó của mảng ?Chẳng hạn, mình muốn in ra tên Tintin thì phải làm sao ? Để lấy một giá trị trong một ô nào đó của mảng, mình phải biết đó là ô số mấy (không phải thứ mấy), cấu trúc lấy giá trị trong một ô nào đó như sau: Ở đây mình muốn in ra giá trị nằm trong ô số 3 (vì Tintin nằm ở ô số 3 mà! Chú ý, tôi nói ô số 3 chứ không phải ô thứ 3 nhé!) Code : PHP <?php echo $name[3]; ?> Nếu bạn không đặt số 3 trong ngoặc vuông thì nó không chạy mà sẽ báo lỗi « Array … gì đó » ! Cho nên khi làm việc với mảng, bắt buộc bạn phải chỉ ra ô số mấy và đặt số trong dấu ngoặc vuông ! Làm sao tạo một mảng ? Ví dụ tạo một mảng : Code : PHP <?php // Hàm array cho phép tạo một mảng $name = array ("Nicole", "Aladin", "Tintin", "Mickey"); ?> Chú ý vào thứ tự nhé! Thứ tự rất quan trọng trong việc sử dụng mảng, chẳng hạn trong ví dụ này, mình đã tạo ra một bảng gồm 4 ô, tên Nicole sẽ được tự động đặt vào ô số 0 của mảng, Aladin ô số 1,.., Mickey ô số 3! Vậy là các bạn đã xem hết ruột gan của tôi rồi đấy! Bạn đã biết làm sao tạo một mảng, làm sao lấy giá trị của mảng và in ra! Bây giờ tôi đề nghị các bạn viết một đoạn script để tóm tắt lại! Đoạn script phải cho phép in ra tất cả giá trị nằm trong mảng $name! Đầu tiên hãy tạo một biến kiểu mảng tên là $name, sau đó dùng vòng lặp (while hoặc for) để in tất cả giá trị trong mảng này ra! Ở đây tôi dùng for là thích hợp hơn cả! Code : PHP <?php // Tạo một mảng $name $name = array(« Nicole », »Aladin », « Tintin », « Mickey ») ; // Rồi dùng một vòng lặp để in ra hết : for ($number=0 ; $number "Trần trùng trục", "number" => "123", "duong" => "Tran hung dao", "quan" => "5", "thanhpho" => "ho chi minh"); ?> Chú ý : đây chỉ là một dòng lệnh khai báo (kết thúc bởi một dấu chấm phẩy duy nhất), mình có thể viết trên 1 dòng duy nhất, nhưng không có ai cấm mình viết thành nhiều dòng như trên, như vậy dễ nhìn hơn ! Để ý rằng ở đây chúng ta đã dùng một mũi tên,(=>) ý nói "được kết hợp với", chẳng hạn viết "thanhpho"=> "ho chi minh" ý nói "thanhpho" thì được kết hợp với "ho chi minh" ! Để in ra các giá trị trong mảng này ? Gần như giống với cách làm hồi nãy, nhưng lần này mình đặt "chữ" vào bên trong dấu ngoặc đơn thay vì đặt "số" vào trong đó như đã làm ! Và chú ý rằng « chữ » ở đây phải được đặt trong dấu nháy ! ('') ! Cái này là bắt buộc ! Chẳng hạn $diachi['thanhpho'] để trích tên thành phố ra ! Code : PHP <?php // Tạo mảng kết hợp $diachi = array ( "name" => "Trần trùng trục", "number" => "123", "duong" => "Tran hung dao", "quan" => "5", "thanhpho" => "ho chi minh"); // Rồi nếu mình muốn in ra tên thành phố, mình viết : echo $diachi['thanhpho'] ; ?> Mảng kiểu kết hợp này rất quan trọng trong phần II khi mình nói về Cơ Sở Dữ Liệu, vì vậy bạn phải nhớ kĩ nhé ! Hết chương 9 ! Hết Phần I ! precedent chapter Mục Lục
Copyright© NGUYỄN Thanh Trà

Từ khóa » Nghĩa Của Array Là Gì