Showing 20 / 26 results

Chúng ta cũng có thể đánh số thứ tự cho phần tử sử dụng các số tự nhiên tuỳ ý, tuy nhiên PHP sẽ đánh lại khoá cho các phần tử này về các số tự nhiên liên tiếp :

$top_car_brands = array("Toyota", "Honda", 2=> "BMW", 4=> "Hyundai");
// Array ( [0] => Toyota [1] => Honda [2] => BMW [4] => Hyundai )

Ở ví dụ trên mảng có phần tử với các số thứ tự tuỳ ý và không liên tiếp là 0, 1, 2 và 4, phần tử với số thứ tự là 3 không tồn tại.

Khi khai báo mảng đánh số thứ tự với các số tự nhiên t...

[Mảng Đánh Số Thứ Tự với Thứ Tự Tuỳ Ý trong PHP](https://www.codehub.com.vn/doan-ma/Mang-Danh-So-Thu-Tu-voi-Thu-Tu-Tuy-Y-trong-PHP)

Mảng đánh số thứ tự là loại mảng sử dụng các số tự nhiên liên tiếp bắt đầu từ 0 cho phần tử đầu tiên:

$top_car_brands = array("Toyota", "Honda", "BMW", "Ford", "Hyundai");

Giá trị của biến $top_car_brands ở đoạn code ví dụ trên là một mảng đánh số thứ tự sử dụng các số tự nhiên liên tiếp với phần tử đầu tiên được đánh số 0.

[Mảng Đánh Số Thứ Tự trong PHP](https://www.codehub.com.vn/doan-ma/Mang-Danh-So-Thu-Tu-trong-PHP)

Có hai cú pháp tạo mảng PHP Khác nhau:

Mảng được tạo sử dụng cú pháp array()

$top_car_brands = array("Toyota", "Honda", "BMW", "Ford", "Hyundai");

Mảng được tạo sử dụng cú pháp [] sử dụng cho PHP từ phiên bản 5.4 trở về sau:

$top_car_brands =["Toyota", "Honda", "BMW", "Ford", "Hyundai"];

Dù sử dụng cách nào thì khi gọi hàm print_r kết quả hiển thị của mảng vẫn không thay đổi.

Lưu ý: Với các phiên bản từ 5.4 trở về sau chúng ta vẫn có thể hoàn toàn sử dụng cú pháp cũ array().

[Cú Pháp Tạo Mảng trong PHP](https://www.codehub.com.vn/doan-ma/Cu-Phap-Tao-Mang-trong-PHP)

Đối với các mảng được đánh số thứ tự cách đơn giản nhất để lặp qua từng phần tử là sử dụng vòng lặp for:

$length = count($top_car_brands);

for ($i = 0; $i < $length; $i++) {
    echo "Hãng xe đứng số " . ($i + 1) . " là: {$top_car_brands[$i]}<br>";
}

Đoạn code trên sử dụng biến đếm $i để lặp qua từng phần tử trong mảng được lưu trữ bởi biến $top_car_brands. Hàmcount() được sử dụng để giới hạn ngăn không cho vòng lặp truy cập phần tử không tồn tại trong mảng.

[Lặp Qua Từng Phần Tử trong Mảng](https://www.codehub.com.vn/doan-ma/Lap-Qua-Tung-Phan-Tu-trong-Mang)

Một mảng kết hợp chứa phần tử được đánh khoá là giá trị bất kỳ không phải chỉ là số tự nhiên liên tiếp:

[
    "Toyota" => "Japan",
    "Honda" => "Japan",
    "BMW" => "German",
    "Ford" => "USA",
    "Hyundai" => "Korea",
];

Mảng trên đây có 5 phần tử được đánh khoá sử dụng các chuỗi Toyota, Honda, BMW, FordHyundai.

Lưu ý: Với mảng kết hợp chúng ta có thể đánh khoá cho các phần tử sử dụng bất kỳ kiểu đữ liệu nào có trong PHP.

[Mảng Kết Hợp (Associative Array) trong PHP](https://www.codehub.com.vn/doan-ma/%08Mang-Ket-Hop-Associative-Array-trong-PHP)

Thông thường khi muốn lặp qua từng phần tử trong một Mảng Kết Hợp chúng ta sử dụng vòng lặp foreach:

Cú pháp sử dụng foreach để lặp qua phần tử trong Mảng Kết Hợp như sau:

foreach (mảng as khoá => giá trị) {
    // code bên trong vòng lặp
}

Ví dụ:

foreach ($top_car_brands as $brand => $country) {
    echo "$brand là hãng xe của $country<br>";
}
[Lặp Qua Từng Phần Tử trong Mảng Kết Hợp](https://www.codehub.com.vn/doan-ma/Lap-Qua-Tung-Phan-Tu-trong-Mang-Ket-Hop)

Cú pháp sử dụng foreach để lặp qua phần tử trong Mảng Kết Hợp chỉ sử dụng giá trị mà không sử dụng khoá của phần tử như sau:

foreach ($mảng as $giá_trị_phần_tử) {
    // code bên trong vòng lặp
}

Đoạn code trong ví dụ này lặp qua một Mảng Kết Hợp được lưu trữ trong biến $top_car_brands mà chỉ sử dụng giá trị và bỏ qua tới khoá của phần tử:

foreach ($top_car_brands as $country) {
    echo "$country<br>";
}
[Lặp Qua Từng Phần Tử trong Mảng Kết Hợp Không Dùng Tới Khoá](https://www.codehub.com.vn/doan-ma/Lap-Qua-Tung-Phan-Tu-trong-Mang-Ket-Hop-Khong-Dung-Toi-Khoa)

Với Mảng Đa Chiều các phần tử trong mảng có giá trị là một mảng khác:

[
    [
        'student_code' => 'MSSV_K12_0001',
        'name' => 'Nguyễn Văn An',
        'gender' => 'Nam',
        'age' => 22,
    ],
    [
        'student_code' => 'MSSV_K12_0002',
        'name' => 'Lê Thị Bình',
        'gender' => 'Nữ',
        'age' => 23,
    ],
]

Ở ví dụ trên, chúng ta có một mảng đa chiều với hai phần tử có giá trị là hai mảng khác nhau.

[Mảng Đa Chiều - Multidimentional Array trong PHP](https://www.codehub.com.vn/doan-ma/Mang-Da-Chieu-Multidimentional-Array-trong-PHP)

Trường hợp các phần tử trong mảng đa chiều được đánh khoá theo kiểu số thứ tự liên tiếp từ 0 thì chúng ta có thể lặp qua qua mảng đa chiều trong PHP sử dụng vòng lặp for:

$length = $students;
for ($i = 0; $i < $length; $i++) {
    echo "Sinh viên với mã số {$student_code} tên là {$student_info['name']}<br>";
}
[Lặp qua mảng đa chiều sử dụng vòng lặp for trong PHP](https://www.codehub.com.vn/doan-ma/Lap-qua-mang-da-chieu-su-dung-vong-lap-for-trong-PHP)

Hàm count() trong PHP được dùng để đếm số lượng phần tử trong một Mảng bất kỳ:

$top_car_brands = ["Toyota", "Honda", "BMW", "Ford", "Hyundai"];
echo count($top_car_brands);

Ở đoạn code trong ví dụ này hàm count() trả về 5 vì mảng lưu trữ trong biến $top_car_brands có tất cả 5 phần tử.

Hàm count() cũng thường được sử dụng kết hợp với vòng lặp for để lặp qua các phần tử trong Mảng PHP. Quay lại bài học để tìm hiểu về cách làm.

[Đếm Số Phần Tử Trong Mảng](https://www.codehub.com.vn/doan-ma/Dem-So-Phan-Tu-Trong-Mang)

Ví dụ về cách thay đổi giá trị của phần tử trong mảng PHP:

$top_car_brands =["Toyota", "Honda", "BMW", "Ford", "Hyundai"];
$top_car_brands[4] = "Mercedes";
print_r($top_car_brands);

Ở đoạn code ví dụ trên, chúng ta thay đổi giá trị của phần tử thứ năm trong mảng ứng với khoá số 4 từ giá trị Hyundai thành giá trị mới là Mercedes.

[Thay Đổi Giá Trị Của Phần Tử trong Mảng PHP](https://www.codehub.com.vn/doan-ma/Thay-Doi-Gia-Tri-Cua-Phan-Tu-trong-Mang-PHP)

Thêm phần tử có thể được thực hiện thông qua toán tử gán = với khoá của phần tử thêm vào không trùng với bất kỳ phần tử nào hiện có trong mảng:

$top_car_brands =["Toyota", "Honda", "BMW", "Ford", "Hyundai"];
$top_car_brands[5] = "Mercedes";
print_r($top_car_brands);

Trong ví dụ trên, chúng ta thêm phần tử thứ sáu vào trong mảng có sẵn lưu trữ trong biến $top_car_brands, phần tử này có khoá là 5 và có giá trị là Mercedes. Bạn có thể thay đổi khoá này bằng một số tự nhiên khác và tự mình kiểm tra ...

[Thêm Phần Tử vào Mảng trong PHP](https://www.codehub.com.vn/doan-ma/Them-Phan-Tu-vao-Mang-trong-PHP)

Để thêm phần tử vào cuối một mảng (hay append element) chúng ta sử dụng toán tử gán giá trị = và bỏ trống trường giá trị của khoá:

$top_car_brands =["Toyota", "Honda", "BMW", "Ford", "Hyundai"];
$top_car_brands[] = "Mercedes";
print_r($top_car_brands);

Trong ví dụ trên, chúng ta thêm phần tử mới với giá trị là Mercedes vào phía cuối mảng được lưu trữ trong biến $top_car_brands. Phần tử mới sẽ được đánh khoá là số tự nhiên tiếp theo số khoá của phần tử cuối cùng trong mảng trước đó.

Cú pháp làm n...

[Thêm Phần Tử vào Cuối Mảng trong PHP](https://www.codehub.com.vn/doan-ma/Them-Phan-Tu-vao-Cuoi-Mang-trong-PHP)

Hàm `unset() được sử dụng để xoá phần tử trong một mảng cho trước:

$top_car_brands =["Toyota", "Honda", "BMW", "Ford", "Hyundai", "Mercedes"];
unset($top_car_brands[5]);
print_r($top_car_brands);

Ở đoạn code trên chúng ta gán giá trị ban đầu cho biến $top_car_brands là một mảng với 6 phần tử được đánh khoá liên tục bắt đầu từ 0 tới 5. Sau đó sử dụng hàmunset() để xoá phần tử thứ 6 (được đánh khoá là 5) ra khỏi mảng.

Bạn có thể đổi thay vì xoá phần tử thứ 6 thì xoá phần tử thứ 2 (được đánh khoá l...

[Xoá Phần Tử của Mảng trong PHP](https://www.codehub.com.vn/doan-ma/Xoa-Phan-Tu-cua-Mang-trong-PHP)

Mảng rỗng là mảng chưa có bất kỳ phần tử nào:

$empty_array = [];
print_r($empty_array);

Trong ví dụ trên giá trị của biến $empty_array là một mảng rỗng không có bất cứ phần tử nào bên trong nó. Mảng này có độ dài bằng 0.

[Mảng Rỗng Trong PHP](https://www.codehub.com.vn/doan-ma/Mang-Rong-Trong-PHP)

Các phần tử của mảng đa chiều có thể được đánh khoá giống với Mảng Kết Hợp, hay nói cách khác khoá của phần tử trong Mảng Đa Chiều có thể là một chuỗi hay bất kỳ kiểu dữ liệu nào khác:

[
    'MSSV_K12_0001' => [
        'name' => 'Nguyễn Văn An',
        'gender' => 'Nam',
        'age' => 22,
    ],
    'MSSV_K12_0002' => [
        'name' => 'Lê Thị Bình',
        'gender' => 'Nữ',
        'age' => 23,
    ],
]

Mảng đa chiều trên có hai phần tử được đánh khoá lần lượt là...

[Mảng Đa Chiều - Multidimentional Array Đánh Khoá Tự Do trong PHP](https://www.codehub.com.vn/doan-ma/Mang-Da-Chieu-Multidimentional-Array-Danh-Khoa-Tu-Do-trong-PHP)

Với các mảng Đa Chiều PHP mà phần tử được đánh khoá theo kiểu số thứ tự tự do thì để lặp qua các phần tử trong mảng chúng ta thường sử dụng vòng lặp foreach :

$length = $students;
for ($i = 0; $i < $length; $i++) {
    echo "Sinh viên với mã số {$student_code} tên là {$student_info['name']}<br>";
}

Câu lệnh echo trong vòng lặp ở ví dụ này sử dụng cặp dấu ngoặc {} giúp cho code dễ đọc tránh nhầm lẫn tên biến và chuỗi văn bản thông thường. Bạn có thể không sử dụng chúng nếu muốn.

[Lặp qua mảng đa chiều sử dụng vòng lặp foreach trong PHP](https://www.codehub.com.vn/doan-ma/Lap-qua-mang-da-chieu-su-dung-vong-lap-foreach-trong-PHP)
[Đảo ngược chuỗi](https://www.codehub.com.vn/doan-ma/Dao-nguoc-chuoi)
[Vị Trí Của Chuỗi](https://www.codehub.com.vn/doan-ma/Vi-Tri-Cua-Chuoi)
[Vị Trí Chuỗi Trả Về False](https://www.codehub.com.vn/doan-ma/Vi-Tri-Chuoi-Tra-Ve-False)