Mảng PHP: Liên kết, đa chiều

Mảng PHP là gì?

Mảng PHP là một biến lưu trữ nhiều phần dữ liệu liên quan trong một biến duy nhất.

Hãy tưởng tượng mảng như một hộp sôcôla có nhiều khe bên trong.

Hộp đại diện cho mảng trong khi các khoảng trống chứa sôcôla đại diện cho các giá trị được lưu trữ trong mảng.

Sơ đồ dưới đây minh họa cú pháp trên.

Mảng số

Mảng số sử dụng số làm khóa truy cập.

Khóa truy cập là một tham chiếu đến khe bộ nhớ trong một biến mảng.

Khóa truy cập đượ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 số trong php.

Ví dụ về mảng

<?php
$variable_name[n] = value;
?>

Or

<?php
$variable_name = array(n => value, …);
?>

ĐÂY,

  • “$variable_name…” là tên của biến
  • “[n]” là số chỉ mục truy cập của phần tử
  • “giá trị” là giá trị được gán cho phần tử mảng.

Bây giờ chúng ta hãy xem một ví dụ về mảng số.

Giả sử chúng ta có 5 phim muốn lưu trữ dưới dạng biến mảng.

Chúng ta có thể sử dụng ví dụ dưới đây để làm điều đó.

<?php

$movie[0] = 'Shaolin Monk';
$movie[1] = 'Drunken Master';
$movie[2] = 'American Ninja';
$movie[3] = 'Once upon a time in China';
$movie[4] = 'Replacement Killers';

?>

Ở đây,

Mảng PHP

Mỗi 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 phim. Quan sát đoạn mã sau:

<?php
$movie[0]="Shaolin Monk";
$movie[1]="Drunken Master";
$movie[2]="American Ninja";
$movie[3]="Once upon a time in China";
$movie[4]="Replacement Killers";
echo $movie[3];
$movie[3] = " Eastern Condors";
echo $movie[3];
?>

Đầu ra:

Once upon a time in China Eastern Condors

Như bạn có thể thấy từ các ví dụ trên, làm việc với mảng trong PHP khi xử lý nhiều giá trị có cùng bản chất rất dễ dàng và linh hoạt.

Ngoài ra, các biến mảng ở trên cũng có thể được tạo bằng cách sử dụng đoạn mã sau.

<?php
$movie = array(0 => "Shaolin Monk",
               1 => "Drunken Master",
               2 => "American Ninja",
               3 => "Once upon a time in China",
               4 =>"Replacement Killers" );
echo $movie[4];
?>

Đầu ra:

Replacement Killers

Mảng kết hợp PHP

Mảng kết hợp khác với mảng số ở chỗ mảng kết hợp sử dụng tên mô tả cho khóa id.

Dưới đây là cú pháp tạo mảng kết hợp trong php.

<?php
$variable_name['key_name'] = value;

$variable_name = array('keyname' => value);
?>

ĐÂY,

  • “$variable_name…” là tên của biến
  • “['key_name']” là số chỉ mục truy cập của phần tử
  • “giá trị” là giá trị được gán cho phần tử mảng.

Giả sử rằng chúng ta có một nhóm người và chúng ta muốn chỉ đị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 để làm điều đó. Đoạn mã dưới đây giúp chúng ta làm điều đó.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons); 
echo ""; 
echo "Mary is a " . $persons["Mary"];
?>

ĐÂY,

Mảng PHP

Đầu ra:

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

Mảng kết hợp cũng rất hữu ích khi lấy dữ liệu từ cơ sở dữ liệu.

Tên trường được sử dụng làm khóa id.

Mảng đa chiều PHP

Đây là các mảng chứa các mảng lồng nhau khác.

Ưu điểm của mảng nhiều 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.

Bây giờ chúng ta hãy xem một ví dụ thực tế triển khai mảng đa chiều php.

Bảng bên dưới hiển thị danh sách phim theo thể loại.

Tiêu đề phim Phân loại
Pink Panther Phim hài
John tiếng Anh Phim hài
Die Hard Hoạt động
Expendables Hoạt động
Chúa tể của những chiếc nhẫn Epic
Romeo và Juliet Lãng mạn
Không thấy điều ác không nghe điều ác Phim hài

Thông tin trên có thể được biểu diễn dưới dạng mảng đa chiều. Mã dưới đây cho thấy việc thực hiện.

<?php
$movies =array(
"comedy" => array("Pink Panther", "John English", "See no evil hear no evil"),
"action" => array("Die Hard", "Expendables"),
"epic" => array("The Lord of the rings"),
"Romance" => array("Romeo and Juliet")
);
print_r($movies);
?>

ĐÂY,

Mảng PHP

Đầu ra:

Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )

Một cách khác để xác định cùng một mảng như sau

<?php
$film=array(

                "comedy" => array(

                                0 => "Pink Panther",

                                1 => "john English",

                                2 => "See no evil hear no evil"

                                ),

                "action" => array (

                                0 => "Die Hard",

                                1 => "Expendables"

                                ),

                "epic" => array (

                                0 => "The Lord of the rings"

                                ),

                "Romance" => array

                                (

                                0 => "Romeo and Juliet"

                                )

);
echo $film["comedy"][0];
?>

Đầu ra:

Pink Panther

Lưu ý: mảng số phim đã được lồng bên trong mảng kết hợp danh mục

Mảng PHP: Operaxoắn

Operator Họ tên Mô tả Làm thế nào để làm nó Đầu ra
x+y liên hiệp Kết hợp các phần tử từ cả hai mảng
<?php
$x = array('id' => 1);

$y = array('value' => 10);

$z = $x + $y;
?>
Mảng([id] => 1 [giá trị] => 10)
X == y bằng So sánh hai mảng nếu chúng bằng nhau và trả về true nếu đúng.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x == $y)
{
echo "true";
}
else
{
echo "false";

}
?>
Đúng hoặc 1
X === y Đồng nhất So sánh cả hai giá trị và loai du lieu
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Sai hoặc 0
X != y, x <> y Không công bằng
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Sai hoặc 0
X !== y Không giống nhau
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Đúng hoặc 1

Hàm mảng PHP

Chức năng đếm

Hàm count được sử dụng để đếm số phần tử mà một mảng php chứa. Mã dưới đây cho thấy việc thực hiện.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>

Đầu ra:

3

hàm is_array

Hàm is_array được sử dụng để xác định xem một biến có phải là mảng hay không. Bây giờ chúng ta hãy xem một ví dụ triển khai các hàm is_array.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>

Đầu ra:

1

Sắp xếp

Hàm này được sử dụng để sắp xếp mảng theo giá trị.

Nếu các giá trị là chữ và số, nó sẽ sắp xếp chúng theo thứ tự bảng chữ cái.

Nếu các giá trị là số, nó sẽ sắp xếp chúng theo thứ tự tăng dần.

Nó loại bỏ các phím truy cập hiện có và thêm các phím số mới.

Đầu ra của hàm này là một mảng số

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

sort($persons);

print_r($persons);
?>

Đầu ra:

Array ( [0] => Female [1] => Female [2] => Male )

ksort

Hàm này được sử dụng để sắp xếp mảng bằng khóa. Ví dụ sau minh họa cách sử dụng của nó.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

ksort($persons);

print_r($persons);
?>

Đầu ra:

Array ( [John] => Male [Mary] => Female [Mirriam] => Female )

một loại

T chức năng đượ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 nó.

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

asort($persons);

print_r($persons);

?>

Đầu ra:

Array ( [Mary] => Female [Mirriam] => Female [John] => Male )

Tại sao lại sử dụng mảng?

  • Nội dung của mảng có thể được kéo dài,
  • Mảng giúp nhóm các thông tin liên quan như thông tin đăng nhập máy chủ lại với nhau một cách dễ dàng
  • Mảng giúp viết mã sạch hơn.

Tổng kết

  • Mảng là các biến đặc biệt có khả năng lưu trữ nhiều giá trị.
  • Mảng có tính linh hoạt và có thể dễ dàng kéo dài để chứa nhiều giá trị hơn
  • Mảng số sử dụng số cho các khóa mảng
  • Mảng kết hợp PHP sử dụng tên mô tả cho các khóa mảng
  • Mảng đa chiều chứa các mảng khác bên trong chúng.
  • Hàm đếm được sử dụng để lấy số lượng phần tử đã được lưu trữ trong một mảng
  • Hàm is_array được sử dụng để xác định xem một biến có phải là mảng hợp lệ hay không.
  • Các hàm mảng khác bao gồm sắp xếp, ksort, assort, v.v.