Hướng dẫn dùng n2br4 trong PHP
Show
1. Mảng là gì? Mảng trong PHP là gì?Mảng (Array) trong PHP là một biến sử dụng để lưu trữ các giá trị, dữ liệu liên quan. Bạn cứ tưởng tưởng một mảng như một hộp sôcôla với các khe bên trong. Hộp đại diện cho chính mảng trong khi sôcôla đại diện cho các giá trị được lưu trữ trong mảng. Hình dưới đây minh hoạ một mảng: Minh họa về một mảng dữ liệu 2. Mảng chỉ số (Numeric Array) trong PHPMảng chỉ số (Numeric Array) sử dụng chỉ số (index) làm khóa truy cập (Access key). Access Key là tham chiếu đến khe cắm bộ nhớ trong biến mảng. Access Key được sử dụng bất cứ khi nào chúng ta muốn đọc hoặc gán giá trị mới cho một phần tử mảng. Dưới đây là cú pháp để tạo mảng chỉ số trong PHP: // Cú pháp tạo mảng chỉ số $ten_mang = array(giaTri1, giaTri2, ...); Ví dụ: Tạo một mảng số nguyên $mang_so_nguyen = array(1, 2, 3, 4, 5, 6); Hoặc bạn có thể sử dụng cách này: // Gán giá trị cho vị trí (index) // PHP Engine sẽ tự động tạo một mảng $ten_mang[index] = giaTri; Ví dụ: Hoặc chúng ta có cách tạo: // Tạo mảng với key là số nguyên $ten_mang = array(n => giaTri, ...); Giải thích các thành phần trong mảng:
Bây giờ hãy xem một ví dụ về một mảng số:
// Gán giá trị cho từng vị trí trong mảng $phim[0] = 'One Piece'; $phim[1] = 'Dragon Ball'; $phim[2] = 'Doremon'; $phim[3] = 'One-Punch Man'; $phim[4] = 'Naruto'; Các số 0, 1, 2, 3, 4 đó chính là vị trí (index) lưu trữ của các giá trị. Mỗi bộ phim được cung cấp một số chỉ mục được sử dụng để truy xuất hoặc sửa đổi giá trị của nó. Hãy xem đoạn code sau: $phim[1]="Dragon Ball"; $phim[2]="Doremon"; $phim[3]="One-Punch Man"; $phim[4]="Naruto"; echo $phim[3]; $phim[3] = "Fairy Tail"; echo " echo $phim[3]; Kết quả của ví dụ trên ta nhận được như sau: Như bạn có thể thấy từ các ví dụ trên: Thay vì mỗi một bộ phim chúng ta khai báo 1 biến gây tốn bộ nhớ. Chúng ta chỉ việc sử dụng mảng. Lúc này, làm việc với các giá trị có cùng bản chất lúc này trở nên dễ dàng và linh hoạt hơn nhiều. Ngoài ra, các biến mảng trên cũng có thể được tạo bằng đoạn code sau. $phims = array(0 => "One Piece", 1 => "Dragon Ball", 2 => "Doremon", 3 => "One-Punch Man", 4 => "Naruto" ); echo $phims[4]; Kết quả ta nhận được như sau: 3. Mảng kết hợp (Associative Array) trong PHPMảng kết hợp khác với mảng chỉ số theo nghĩa là mảng kết hợp sử dụng Tên mô tả (key) cho các Access Key. Dưới đây là cú pháp để tạo mảng kết hợp trong php: // Cú pháp này PHP engine tự động tạo 1 mảng $ten_mang // rồi gán cho nó một cặp key => value $ten_mang["key"] = value; // Cách 2 $ten_mang = array('key' => value); Giải thích các phần tử trong cú pháp trên:
Chúng ta hãy giả sử rằng chúng ta có một nhóm người và chúng ta muốn phân định giới tính của mỗi người theo tên của họ. Chúng ta có thể sử dụng một mảng kết hợp. Đoạn code dưới đây giúp chúng ta làm điều đó: $sinhVien = array("Hải" => "Nam", "Doanh" => "Nam", "Nhung" => "Nữ"); print_r($sinhVien); Bạn có thể thấy, thay vì đánh chỉ số từ
Kết quả chúng ta nhận được ở ví dụ trên là: Và khi thực hiện câu lệnh: $sinhVien = array("Hải" => "Nam", "Doanh" => "Nam", "Nhung" => "Nữ"); echo "Hải là " . $sinhVien["Hải"]; // Kết quả: Hải là Nam Mảng kết hợp này rất hữu ích khi bạn lấy dữ liệu từ cơ sở dữ liệu. Bởi vì tên trường thường không đánh theo chỉ số 1, 2, 3, 4 mà được đánh theo ID (Ví dụ: SV001, SV003, SP001....) 4. Mảng đa chiều trong PHPMảng đa chiều là các mảng có chứa các mảng lồng nhau khác. Ưu điểm của mảng đa chiều là chúng cho phép chúng ta nhóm các dữ liệu liên quan lại với nhau trong khi vẫn chia tách được rõ ràng các nhóm nhỏ hơn. Hãy xem xét một ví dụ thực tế triển khai mảng đa chiều trong php. Bảng dưới đây cho thấy một danh sách các bộ phim theo thể loại phim: // Khai báo mảng đa chiều $phims =array( "Hành động" => array("Jonh Wick", "Người vận chuyển", "Nhiệm vụ bất khả thi"), "Viễn tưởng" => array("Endgame", "Infinity War"), "Lãng mạn" => array("La La land"), "Kịch tính" => array("Tên trộm và cô chủ nhà") ); // In ra cấu trúc mảng print_r($phims); Bạn có thể thấy các thể loại phim:
Mà trong mỗi thể loại phim ta lại có từ 1 đến 2 bộ phim khác nhau. Kết quả chúng ta nhận được sẽ là: Một cách khác để khai báo cùng một mảng đa chiều là như sau: "Hành động" => array(0 => "Jonh Wick", 1 => "Người vận chuyển", 2 => "Nhiệm vụ bất khả thi"), "Viễn tưởng" => array(0 => "Endgame", 1 => "Infinity War"), "Lãng mạn" => array (0 => "La La Land"), "Kịch tính" => array(0 => "Tên trộm và cô chủ nhà") ); // Truy cập phần tử mảng đa chiều echo $phims["Hành động"][0]; Lưu ý: Mảng chứa số phim cùng 1 thể loại đã được lồng bên trong mảng kết hợp các thể loại 5. Sử dụng toán tử thao tác với mảng trong PHPToán tử "+" để cộng 2 mảng trong PHP Ta sử dụng toán tử " Ví dụ kết hợp phần tử của 2 mảng như sau: $y = array('value' => 10); $z = $x + $y; Sau khi cộng hai mảng ta nhận được một mảng mới như sau: So sánh 2 mảng có bằng nhau không bằng toán tử "==" trong PHP Toán tử $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } // Kết quả true hoặc 1 Sử dụng toán tử "===" để so sáng 2 mảng trong PHP Toán tử " $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } // Kết quả False hoặc 0 Sử dụng toán tử "!=" và "<>" để so sánh mảng trong PHP Ở trường hợp này nếu muốn biết 2 mảng có khác nhau hay không thì
chúng ta có thể sử dụng toán tử $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } // Kết quả trả về là False hoặc 0 So sánh 2 mảng không giống nhau bằng toán tử "!==" trong PHPTrường hợp này thường xảy ra khi so sánh mảng có 2 mảng giống nhau về giá trị, nhưng khác kiểu dữ liệu. Ví dụ: $y = array('value' => 10); $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } 6. Tìm hiểu về Array Functions trong PHPHàm count: Đếm số lượng phần tử trong mảng PHP Để đếm
số phần tử trong một mảng trong PHP ta sử dụng hàm $phims = array("Jonh Wick", "Người vận chuyển", "Nhiệm vụ bất khả thi"); // Xuất ra số lượng phần tử trong mảng $phims echo count($phims); // Kết quả sẽ là 3 Sử dụng Hàm is_array để kiểm tra liệu đây có phải một mảng trong PHP Muốn biết một biến trong PHP có phải là một mảng hay không. Chúng ta sẽ sử dụng hàm Hãy xem ví dụ sau để biết cách thực hiện: // Khai báo 1 mảng $phims để sử dụng $phims = array("Jonh Wick", "Người vận chuyển", "Nhiệm vụ bất khả thi"); // Xuất thông báo xem biến $phims có phải 1 mảng hay không echo is_array($phims); // Kết quả sẽ là 1 (true) Cách sử dụng Hàm sort trong PHP
// Khai báo mảng $sinhVien $sinhVien = array("Hải" => "Nam", "Doanh" => "Nam", "Nhung" => "Nữ"); // Sắp xếp các giá trị trong mảng $sinhVien sort($sinhVien); // In ra mảng $sinhVien để kiểm tra print_r($sinhVien); Kết quả chúng ta nhận được khi sử dụng hàm sort để sắp xếp mảng Bạn có thể
thấy, mảng Vậy nếu bạn chỉ muốn sắp xếp, giữ nguyên kiểu mảng thì sao? Hãy.. Sử dụng Hàm ksort để sắp xếp mảng trong PHP Hàm Ví dụ sau minh họa cách sử dụng của hàm // Khai báo mảng $sinhVien $sinhVien = array("Hải" => "Nam", "Doanh" => "Nam", "Nhung" => "Nữ"); // Sử dụng hàm ksort để sắp xếp mảng $sinhVien ksort($sinhVien); // In ra mảng print_r($sinhVien); Kết quả chúng ta nhận được là: Bạn thấy đấy, mảng Sử dụng Hàm asort để sắp xếp mảng trong PHPHàm asort() được sử dụng để sắp xếp mảng bằng các giá trị. Ví dụ sau minh họa cách sử dụng của hàm // Khai báo mảng $sinhVien $sinhVien = array("Hải" => "Nam", "Doanh" => "Nam", "Nhung" => "Nữ"); // Sử dụng asort để sắp xếp mảng theo value asort($sinhVien); // In ra mảng print_r($sinhVien); Kết quả nhận được sau khi sử dụng hàm Cách sử dụng các hàm có sẵn để sắp xếp mảng trong PHP cũng rất đơn giản và dễ hiểu phải không nào? 7. Tại sao nên sử dụng mảng để chứa dữ liệu?Trong trường hợp cần thiết, chúng ta nên sử dụng mảng để chứa dữ liệu vì 3 lý do sau đây:
8. Tổng kết bài học Mảng (Array) trong PHPNhư vậy là qua bài cách sử dụng mảng trong PHP này bạn đã được học và hiểu về:
Đó là kiến thức cơ bản về mảng trong PHP để bạn có thể sử dụng để thực hiện các công việc có liên quan đến mảng. --- HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay! Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội SĐT: 02435574074 - 0968051561 Email: Fanpage: https://facebook.com/NIIT.ICT/ #niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python |