Một mảng là một biến đặc biệt, có thể chứa nhiều hơn một giá trị tại một thời điểm.
Nếu bạn có một danh sách các mặt hàng (ví dụ danh sách các tên xe hơi), việc lưu trữ xe trong các biến đơn có thể trông như thế này:
Tuy nhiên, điều gì sẽ xảy ra nếu bạn muốn lặp qua những chiếc xe và tìm một chiếc cụ thể? Và điều gì sẽ xảy ra nếu bạn không có 3 chiếc xe, mà là 300?
Một mảng có thể chứa nhiều giá trị dưới một tên duy nhất và bạn có thể truy cập các giá trị bằng cách tham khảo số chỉ mục.
Một mảng là một biến đặc biệt, có thể chứa nhiều hơn một giá trị tại một thời điểm.
Nếu bạn có một danh sách các mặt hàng (ví dụ danh sách các tên xe hơi), việc lưu trữ xe trong các biến đơn có thể trông như thế này:
Một mảng trong PHP thực sự là một bản đồ được đặt hàng. Bản đồ là một loại liên kết các giá trị với các khóa. Loại này được tối ưu hóa cho một số cách sử dụng khác nhau; Nó có thể được coi là một mảng, danh sách (vector), bảng băm (một triển khai bản đồ), từ điển, thu thập, ngăn xếp, hàng đợi, và có thể nhiều hơn nữa. Vì các giá trị mảng có thể là các mảng khác, cây và mảng đa chiều cũng có thể.array in PHP is actually an ordered map. A map is a type that associates values to keys. This type is optimized for several different uses; it can be treated as an array, list (vector), hash table (an implementation of a map), dictionary, collection, stack, queue, and probably more. As array values can be other arrays, trees and multidimensional arrays are also
possible.
Giải thích về các cấu trúc dữ liệu đó nằm ngoài phạm vi của hướng dẫn này, nhưng ít nhất một ví dụ được cung cấp cho mỗi chúng. Để biết thêm thông tin, hãy hướng tới các tài liệu đáng kể tồn tại về chủ đề rộng lớn này.
Cú pháp
Chỉ định với Array ()array()
Một mảng có thể được tạo bằng cách sử dụng cấu trúc ngôn ngữ mảng (). Nó lấy bất kỳ số lượng các cặp
array(1) {
[1]=>
string(1) "d"
}
7 được phân tách bằng dấu phẩy làm đối số.array
can be created using the array() language construct. It takes any number of comma-separated array(1) {
[1]=>
string(1) "d"
}
7 pairs as arguments. array(
key => value,
key2 => value2,
key3 => value3,
...
)
Dấu phẩy sau phần tử mảng cuối cùng là tùy chọn và có thể được bỏ qua. Điều này thường được thực hiện cho các mảng một dòng, tức là
array(1) {
[1]=>
string(1) "d"
}
8 được ưu tiên hơn array(1) {
[1]=>
string(1) "d"
}
9. Mặt khác, đối với các mảng đa dòng, dấu phẩy kéo dài thường được sử dụng, vì nó cho phép thêm các yếu tố mới dễ dàng hơn ở cuối.Ghi chú::
Một cú pháp mảng ngắn tồn tại thay thế
array(1) {
[1]=>
string(1) "d"
}
5 bằng array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
1.
Ví dụ #1 một mảng đơn giản
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
2 Khóa có thể là một int hoặc một chuỗi. Giá trị có thể là bất kỳ loại.key can either be an int or a string. The value can be of any type.
Ngoài ra, các diễn viên khóa sau sẽ xảy ra:key casts will occur:
- Các chuỗi chứa ints thập phân hợp lệ, trừ khi số được đi trước bằng dấu
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
3, sẽ được chuyển theo loại INT. Ví dụ. Khóa array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
4 thực sự sẽ được lưu trữ theo array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
5. Mặt khác, array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
6 sẽ không được sử dụng, vì nó không phải là số nguyên thập phân hợp lệ.s containing valid decimal ints, unless the number is preceded by a array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
3 sign, will be cast to the int type. E.g. the key array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
4 will actually be stored under array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
5. On the other hand array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
6 will not be cast, as it isn't a valid decimal integer. - Phao cũng được đúc theo INT, điều đó có nghĩa là phần phân số sẽ bị cắt ngắn. Ví dụ. Khóa
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
7 thực sự sẽ được lưu trữ theo array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
5.s are also cast to ints, which means that the fractional part will be truncated. E.g. the key array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
7 will actually be stored
under array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
5. - Bools cũng được đúc theo INT, tức là khóa
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
9 sẽ thực sự được lưu trữ theo array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
0 và khóa array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
1 theo array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
2.s are cast to ints, too, i.e. the key array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
9 will actually be stored under array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
0 and the key array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
1 under array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
2. - NULL sẽ được đúc vào chuỗi trống, tức là khóa
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3 sẽ thực sự được lưu trữ theo array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
4. will be cast to the empty string, i.e. the key array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3 will actually be stored under array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
4. - Mảng và đối tượng không thể được sử dụng làm khóa. Làm như vậy sẽ dẫn đến một cảnh báo:
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
5.s and objects can not be used as keys. Doing so will result in a warning: array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
5.
Nếu nhiều phần tử trong khai báo mảng sử dụng cùng một khóa, chỉ có phần cuối cùng sẽ được sử dụng vì tất cả các phần tử khác đều bị ghi đè.
Ví dụ Ví dụ #2 mẫu đúc và ghi đè
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
6Ví dụ trên sẽ xuất ra:
array(1) {
[1]=>
string(1) "d"
}
Vì tất cả các khóa trong ví dụ trên được chuyển đến
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
0, giá trị sẽ được ghi đè lên mọi yếu tố mới và giá trị được gán cuối cùng array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
8 là giá trị duy nhất còn lại. Các mảng PHP có thể chứa các khóa Int và chuỗi cùng lúc với PHP không phân biệt giữa các mảng được lập chỉ mục và kết hợp.int and string keys at the same time as PHP does not distinguish between indexed and associative arrays.
Ví dụ #3 Phím Int và Chuỗi hỗn hợpint and string keys
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
9Ví dụ trên sẽ xuất ra:
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
Vì tất cả các khóa trong ví dụ trên được chuyển đến
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
0, giá trị sẽ được ghi đè lên mọi yếu tố mới và giá trị được gán cuối cùng array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
8 là giá trị duy nhất còn lại.key is optional. If it is not specified, PHP will use the increment of the largest previously used int key. Các mảng PHP có thể chứa các khóa Int và chuỗi cùng lúc với PHP không phân biệt giữa các mảng được lập chỉ mục và kết hợp.
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[6]=>
string(1) "c"
[7]=>
string(1) "d"
}
0Ví dụ trên sẽ xuất ra:
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
Vì tất cả các khóa trong ví dụ trên được chuyển đến
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
0, giá trị sẽ được ghi đè lên mọi yếu tố mới và giá trị được gán cuối cùng array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
8 là giá trị duy nhất còn lại. Các mảng PHP có thể chứa các khóa Int và chuỗi cùng lúc với PHP không phân biệt giữa các mảng được lập chỉ mục và kết hợp.
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[6]=>
string(1) "c"
[7]=>
string(1) "d"
}
1Ví dụ trên sẽ xuất ra:
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[6]=>
string(1) "c"
[7]=>
string(1) "d"
}
Vì tất cả các khóa trong ví dụ trên được chuyển đến
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
0, giá trị sẽ được ghi đè lên mọi yếu tố mới và giá trị được gán cuối cùng array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
8 là giá trị duy nhất còn lại. Các mảng PHP có thể chứa các khóa Int và chuỗi cùng lúc với PHP không phân biệt giữa các mảng được lập chỉ mục và kết hợp.
Ví dụ #3 Phím Int và Chuỗi hỗn hợp
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[6]=>
string(1) "c"
[7]=>
string(1) "d"
}
5Ví dụ trên sẽ xuất ra:
array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
Vì tất cả các khóa trong ví dụ trên được chuyển đến array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
0, giá trị sẽ được ghi đè lên mọi yếu tố mới và giá trị được gán cuối cùng array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
8 là giá trị duy nhất còn lại.
Các mảng PHP có thể chứa các khóa Int và chuỗi cùng lúc với PHP không phân biệt giữa các mảng được lập chỉ mục và kết hợp.
Ví dụ #3 Phím Int và Chuỗi hỗn hợp
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[6]=>
string(1) "c"
[7]=>
string(1) "d"
}
7Ví dụ trên sẽ xuất ra:
string(3) "bar"
int(24)
string(3) "foo"
Ghi chú::
Một cú pháp mảng ngắn tồn tại thay thế
array(1) {
[1]=>
string(1) "d"
}
5 bằng array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
1.
Ví dụ #1 một mảng đơn giản
array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
0Ghi chú::
Một cú pháp mảng ngắn tồn tại thay thế
array(1) {
[1]=>
string(1) "d"
}
5 bằng array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
1.array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
1-level error message (array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
2-level prior to PHP 8.0.0) will be issued, and the result will be array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3.
Ghi chú::
Mảng dereference một giá trị vô hướng không phải là một chuỗi mang lại
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3. Trước Php 7.4.0, điều đó không phát hành thông báo lỗi. Kể từ Php 7.4.0, vấn đề này array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
2; Kể từ Php 8.0.0, vấn đề này array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
1.string yields array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3. Prior to PHP 7.4.0, that did not issue an error message. As of PHP 7.4.0, this issues array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
2; as of PHP 8.0.0, this issues array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
1.
Tạo/sửa đổi với cú pháp khung vuông
Một mảng hiện có có thể được sửa đổi bằng cách cài đặt rõ ràng các giá trị trong đó.array can be
modified by explicitly setting values in it.
Điều này được thực hiện bằng cách gán các giá trị cho mảng, chỉ định khóa trong dấu ngoặc. Khóa cũng có thể được bỏ qua, dẫn đến một cặp dấu ngoặc trống (
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
1).array, specifying the key in brackets. The key can also be omitted, resulting in an empty pair of brackets (array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
1). $arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
Nếu $ ARR chưa tồn tại hoặc được đặt thành
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3 hoặc array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
1, nó sẽ được tạo ra, vì vậy đây cũng là một cách khác để tạo ra một mảng. Tuy nhiên, thực tế này không được khuyến khích bởi vì nếu $ mảng đã chứa một số giá trị (ví dụ: chuỗi từ biến yêu cầu) thì giá trị này sẽ ở lại vị trí và array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
1 thực sự có thể đứng cho toán tử truy cập chuỗi. Luôn luôn tốt hơn để khởi tạo một biến bằng một gán trực tiếp.array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3 or array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
1, it will be created, so this is also an alternative way to create an array. This practice is however discouraged because if $arr
already contains some value (e.g. string from request variable) then this value will stay in the place and array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
1 may actually stand for string access operator. It is always better to initialize a variable by a direct assignment. Lưu ý: Kể từ Php 7.1.0, việc áp dụng toán tử chỉ mục trống trên một chuỗi ném một lỗi nghiêm trọng. Trước đây, chuỗi được chuyển đổi âm thầm thành một mảng.: As of PHP 7.1.0, applying the empty index operator on a string throws a fatal error.
Formerly, the string was silently converted to an array.
Lưu ý: Kể từ Php 8.1.0, việc tạo một mảng mới từ giá trị array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
1 không được chấp nhận. Tạo một mảng mới từ array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3 và các giá trị không xác định vẫn được cho phép.: As of PHP 8.1.0, creating a new array from array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
1 value is deprecated. Creating a new array from array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3 and undefined values is still allowed.
Để thay đổi một giá trị nhất định, hãy gán một giá trị mới cho phần tử đó bằng khóa của nó. Để xóa một cặp khóa/giá trị, hãy gọi hàm Unset () trên đó.unset() function on it.
string(3) "bar"
int(24)
string(3) "foo"
3Ghi chú::
Như đã đề cập ở trên, nếu không có khóa nào được chỉ định, tối đa của các chỉ số INT hiện tại được thực hiện và khóa mới sẽ là giá trị tối đa đó cộng với 1 (nhưng ít nhất 0). Nếu chưa có chỉ số INT nào tồn tại, khóa sẽ là
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
2 (không).int indices is taken, and the new key will be that maximum value plus 1 (but at least 0). If no int indices exist yet, the key will be array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
2 (zero). Lưu ý rằng khóa số nguyên tối đa được sử dụng cho điều này hiện không tồn tại trong mảng. Nó chỉ cần tồn tại trong mảng vào một thời điểm kể từ lần cuối cùng mảng được chỉ bảng lại. Ví dụ sau minh họa:array. It need only have existed in the array at some time since the last time the array was re-indexed. The following example illustrates:
string(3) "bar"
int(24)
string(3) "foo"
5Ví dụ trên sẽ xuất ra:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
Mảng phá hủy
Các mảng có thể được phá hủy bằng cách sử dụng các cấu trúc ngôn ngữ
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
1 (kể từ Php 7.1.0) hoặc danh sách (). Các cấu trúc này có thể được sử dụng để phá hủy một mảng thành các biến riêng biệt.list() language constructs. These constructs can be used to destructure an array into distinct variables. string(3) "bar"
int(24)
string(3) "foo"
7string(3) "bar"
int(24)
string(3) "foo"
8string(3) "bar"
int(24)
string(3) "foo"
9 Phá hủy mảng có thể được sử dụng trong foreach để phá hủy một mảng đa chiều trong khi lặp lại nó.
$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
0$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
1$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
2 Các phần tử mảng sẽ bị bỏ qua nếu biến không được cung cấp. Phá hủy mảng luôn bắt đầu tại INDEX
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
2.$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
4$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
5$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
6 Kể từ Php 7.1.0, các mảng kết hợp cũng có thể bị phá hủy. Điều này cũng cho phép dễ dàng lựa chọn phần tử phù hợp trong các mảng được lập chỉ mục bằng số vì chỉ mục có thể được chỉ định rõ ràng.
$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
7$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
5$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
9 Phá hủy mảng có thể được sử dụng để dễ dàng hoán đổi hai biến.
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
0string(3) "bar"
int(24)
string(3) "foo"
8Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
2Ghi chú::
Toán tử lây lan (
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
3) không được hỗ trợ trong các bài tập.
Ghi chú::
Cố gắng truy cập vào một khóa mảng chưa được xác định giống như truy cập bất kỳ biến không xác định nào khác: Thông báo lỗi cấp độ ____ 51 (________ 52 cấp trước Php 8.0.0) sẽ được phát hành và kết quả sẽ là
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3.array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
1-level error message (array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
2-level prior to PHP 8.0.0) will be issued, and the result will be array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3.
Các chức năng hữu ích
Có khá nhiều chức năng hữu ích để làm việc với các mảng. Xem phần Hàm mảng.
Ghi chú::
Hàm unset () cho phép loại bỏ các khóa khỏi một mảng. Xin lưu ý rằng mảng sẽ không được tái hiện. Nếu hành vi "loại bỏ và thay đổi" đúng là mong muốn, mảng có thể được tái phát bằng hàm mảng_Values ().unset() function allows removing keys from an array. Be aware that the array will not be reindexed. If a true "remove and shift" behavior is desired, the
array can be reindexed using the array_values() function.
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
7
Cấu trúc kiểm soát foreach tồn tại cụ thể cho các mảng. Nó cung cấp một cách dễ dàng để đi qua một mảng.arrays. It provides an easy way to traverse an array.
Mảng do và không
Tại sao Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
8 lại sai?
Luôn luôn sử dụng báo giá xung quanh một chỉ mục mảng theo nghĩa đen. Ví dụ,
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
9 là chính xác, trong khi Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
8 thì không. Nhưng tại sao? Người ta thường gặp loại cú pháp này trong các tập lệnh cũ:Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
1 Điều này là sai, nhưng nó hoạt động. Lý do là mã này có hằng số không xác định (
Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
2) chứ không phải là một chuỗi (Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
3 - Lưu ý các trích dẫn). Nó hoạt động vì PHP tự động chuyển đổi một chuỗi trần (một chuỗi chưa được trích xuất không tương ứng với bất kỳ biểu tượng nào đã biết) thành một chuỗi chứa chuỗi trần. Chẳng hạn, nếu không có hằng số được xác định có tên Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
2, thì PHP sẽ thay thế trong chuỗi Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
3 và sử dụng nó.string (Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
3 - notice the quotes). It works because PHP
automatically converts a bare string (an unquoted string which does not correspond to any known symbol) into a string which contains the bare string. For instance, if there is no defined constant named Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
2, then PHP will substitute in the string Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
3 and use that. Cảnh báo
Việc dự phòng để xử lý một hằng số không xác định vì chuỗi trần có lỗi về mức độ
array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
2. Điều này đã được phản đối kể từ Php 7.2.0 và đưa ra lỗi của cấp array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
1. Kể từ Php 8.0.0, nó đã bị xóa và ném một ngoại lệ lỗi.array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
2. This has been deprecated as of PHP 7.2.0, and issues an error of level array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
1. As of PHP 8.0.0, it has been removed and throws an Error exception. LƯU Ý: Điều này không có nghĩa là luôn luôn trích dẫn khóa. Không trích dẫn các khóa là hằng số hoặc biến, vì điều này sẽ ngăn PHP diễn giải chúng.: This does not mean to always quote the key. Do not quote keys which are
constants or variables, as this will prevent PHP from interpreting them.
Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
8Ví dụ trên sẽ xuất ra:
Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
Nhiều ví dụ hơn để chứng minh hành vi này:
Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
9array(1) {
[1]=>
string(1) "d"
}
00array(1) {
[1]=>
string(1) "d"
}
01 Khi error_Reporting được đặt để hiển thị các lỗi cấp
array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
2 (ví dụ bằng cách đặt nó thành array(1) {
[1]=>
string(1) "d"
}
03, ví dụ), việc sử dụng đó sẽ được hiển thị ngay lập tức. Theo mặc định, Error_Reporting được đặt không hiển thị thông báo.array(7) {
[1]=>
string(1) "g"
[-1]=>
string(1) "d"
["01"]=>
string(1) "e"
["1.5"]=>
string(1) "f"
[0]=>
string(1) "h"
[""]=>
string(1) "j"
[2]=>
string(1) "l"
}
2 level errors (by setting it to array(1) {
[1]=>
string(1) "d"
}
03, for example), such uses will become immediately visible. By default, error_reporting is set not to show notices. Như đã nêu trong phần Cú pháp, những gì bên trong dấu ngoặc vuông ('
string(3) "bar"
int(24)
string(3) "foo"
8' và 'array(1) {
[1]=>
string(1) "d"
}
05') phải là một biểu thức. Điều này có nghĩa là mã như thế này hoạt động:array(1) {
[1]=>
string(1) "d"
}
06 Đây là một ví dụ về việc sử dụng giá trị trả về hàm làm chỉ mục mảng. PHP cũng biết về các hằng số:
array(1) {
[1]=>
string(1) "d"
}
07 Lưu ý rằng
array(1) {
[1]=>
string(1) "d"
}
08 cũng là một định danh hợp lệ, giống như Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
2 trong ví dụ đầu tiên. Nhưng ví dụ cuối cùng trên thực tế giống như viết:array(1) {
[1]=>
string(1) "d"
}
08 is also a valid identifier, just like
Checking 0:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 1
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 1
Checking 1:
Notice: Undefined index: $i in /path/to/script.html on line 9
Bad:
Good: 2
Notice: Undefined index: $i in /path/to/script.html on line 11
Bad:
Good: 2
2 in the first example. But the last example is in fact the same as writing: array(1) {
[1]=>
string(1) "d"
}
10 bởi vì
array(1) {
[1]=>
string(1) "d"
}
08 bằng array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
0, v.v.array(1) {
[1]=>
string(1) "d"
}
08 equals array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
0, etc. Vậy tại sao nó xấu sau đó?
Tại một số điểm trong tương lai, nhóm PHP có thể muốn thêm một từ khóa hoặc từ khóa khác hoặc một hằng số trong mã khác có thể can thiệp. Ví dụ, đã sai khi sử dụng các từ
array(1) {
[1]=>
string(1) "d"
}
13 và array(1) {
[1]=>
string(1) "d"
}
14 theo cách này, vì chúng được bảo lưu từ khóa.Lưu ý: Để nhắc lại, bên trong một chuỗi được trích xuất kép, việc không chỉ các chỉ mục mảng xung quanh có báo giá để array(1) {
[1]=>
string(1) "d"
}
15 là hợp lệ. Xem các ví dụ trên để biết chi tiết về lý do tại sao cũng như phần về phân tích cú pháp biến trong chuỗi.: To reiterate, inside a double-quoted string, it's valid to not surround array indexes with quotes so array(1) {
[1]=>
string(1) "d"
}
15 is valid. See the above examples for details on why as well as the section on variable parsing in strings.
Chuyển đổi thành mảng
Đối với bất kỳ loại int, float, chuỗi, bool và tài nguyên nào, việc chuyển đổi giá trị thành một mảng dẫn đến một mảng có một phần tử duy nhất có chỉ mục bằng 0 và giá trị của vô hướng được chuyển đổi. Nói cách khác,
array(1) {
[1]=>
string(1) "d"
}
16 giống hệt như array(1) {
[1]=>
string(1) "d"
}
17.int, float, string, bool and resource, converting a value to an array results in an array with a single element with index zero and the value of the scalar which was converted. In other words, array(1) {
[1]=>
string(1) "d"
}
16 is exactly the same as array(1) {
[1]=>
string(1) "d"
}
17. Nếu một đối tượng được chuyển đổi thành một mảng, kết quả là một mảng có các phần tử là thuộc tính của đối tượng. Các khóa là tên biến thành viên, với một vài ngoại lệ đáng chú ý: các thuộc tính số nguyên không thể truy cập được; Các biến riêng có tên lớp được chuẩn bị cho tên biến; Các biến được bảo vệ có '*' được chuẩn bị cho tên biến. Các giá trị được chuẩn bị này có
array(1) {
[1]=>
string(1) "d"
}
18 byte ở hai bên. Các thuộc tính gõ không được hưởng được loại bỏ âm thầm.object is converted to an
array, the result is an array whose elements are the object's properties. The keys are the member variable names, with a few notable exceptions: integer properties are unaccessible; private variables have the class name prepended to the variable name; protected variables have a '*' prepended to the variable name. These prepended values have array(1) {
[1]=>
string(1) "d"
}
18 bytes on either side. Uninitialized
typed properties are silently discarded. array(1) {
[1]=>
string(1) "d"
}
19Ví dụ trên sẽ xuất ra:
array(1) {
[1]=>
string(1) "d"
}
0 Những
array(1) {
[1]=>
string(1) "d"
}
18 này có thể dẫn đến một số hành vi bất ngờ:array(1) {
[1]=>
string(1) "d"
}
21array(1) {
[1]=>
string(1) "d"
}
22array(1) {
[1]=>
string(1) "d"
}
23Ví dụ trên sẽ xuất ra:
array(1) {
[1]=>
string(1) "d"
}
1 Các phần trên sẽ có hai khóa có tên là 'AA', mặc dù một trong số chúng thực sự được đặt tên là '\ 0a \ 0a'.
Chuyển đổi
array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3 thành một mảng dẫn đến một mảng trống.array(4) {
[0]=>
string(3) "foo"
[1]=>
string(3) "bar"
[2]=>
string(5) "hello"
[3]=>
string(5) "world"
}
3 to an array results in an empty array. Mảng Giải nén
Một mảng được tiền tố bởi
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
3 sẽ được mở rộng tại chỗ trong định nghĩa của mảng. Chỉ các mảng và các đối tượng thực hiện có thể mở rộng có thể mở rộng. Mảng Giải nén với Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
3 có sẵn kể từ Php 7.4.0.Traversable can be expanded. Array unpacking with
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
3 is available as of PHP 7.4.0. Có thể mở rộng nhiều lần và thêm các phần tử bình thường trước hoặc sau toán tử
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
3:Ví dụ #9 Mảng đơn giản Giải nén
array(1) {
[1]=>
string(1) "d"
}
28 Giải nén một mảng với toán tử
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
)
3 theo ngữ nghĩa của hàm mảng_merge (). Đó là, các phím chuỗi sau này ghi đè lên các khóa trước và các khóa số nguyên được đánh số lại:array_merge() function. That is, later string keys
overwrite earlier ones and integer keys are renumbered: Ví dụ #10 Mảng Giải nén với khóa trùng lặp
array(1) {
[1]=>
string(1) "d"
}
30array(1) {
[1]=>
string(1) "d"
}
31array(1) {
[1]=>
string(1) "d"
}
32Ghi chú::
Các phím không phải là số nguyên cũng không phải chuỗi ném một kiểu. Các phím như vậy chỉ có thể được tạo ra bởi một đối tượng có thể đi được.TypeError. Such keys can only be generated by a
Traversable object.
Ghi chú::
Các phím không phải là số nguyên cũng không phải chuỗi ném một kiểu. Các phím như vậy chỉ có thể được tạo ra bởi một đối tượng có thể đi được.
array(1) {
[1]=>
string(1) "d"
}
33array(1) {
[1]=>
string(1) "d"
}
34array(1) {
[1]=>
string(1) "d"
}
35
Trước PHP 8.1, việc giải nén một mảng có khóa chuỗi không được hỗ trợ:
Ví dụ
array(1) {
[1]=>
string(1) "d"
}
36 Loại mảng trong PHP rất linh hoạt. Dưới đây là một số ví dụ:
array(1) {
[1]=>
string(1) "d"
}
37Ví dụ #11 sử dụng Array ()
array(1) {
[1]=>
string(1) "d"
}
38$arr[key] = value;
$arr[] = value;
// key may be an int or string
// value may be any value of any type
1array(1) {
[1]=>
string(1) "d"
}
40Ví dụ trên sẽ xuất ra:
array(1) {
[1]=>
string(1) "d"
}
2Ví dụ #12 Bộ sưu tậparray directly is possible by passing them by reference.
Thay đổi các giá trị của mảng trực tiếp là có thể bằng cách truyền chúng bằng cách tham chiếu.
array(1) {
[1]=>
string(1) "d"
}
41Ví dụ trên sẽ xuất ra:
array(1) {
[1]=>
string(1) "d"
}
3Ví dụ #13 Thay đổi phần tử trong vòng lặp
Ví dụ này tạo ra một mảng một dựa trên.
array(1) {
[1]=>
string(1) "d"
}
42Ví dụ trên sẽ xuất ra:
array(1) {
[1]=>
string(1) "d"
}
4Ví dụ #14 chỉ mục một dựa trên
array(1) {
[1]=>
string(1) "d"
}
43 Ví dụ #15 điền một mảngs are ordered. The order can be changed using various sorting functions. See the
array functions section for more information. The count() function can be used to count the number of items in an array.
Mảng được đặt hàng. Thứ tự có thể được thay đổi bằng cách sử dụng các chức năng sắp xếp khác nhau. Xem phần Hàm mảng để biết thêm thông tin. Hàm số () có thể được sử dụng để đếm số lượng mục trong một mảng.
array(1) {
[1]=>
string(1) "d"
}
44Ví dụ #16 Sắp xếp một mảngarray can be anything, it can also be another
array. This enables the creation of recursive and multi-dimensional arrays.
Bởi vì giá trị của một mảng có thể là bất cứ điều gì, nó cũng có thể là một mảng khác. Điều này cho phép tạo ra các mảng đệ quy và đa chiều.
array(1) {
[1]=>
string(1) "d"
}
45array(1) {
[1]=>
string(1) "d"
}
46array(1) {
[1]=>
string(1) "d"
}
47 Ví dụ #17 Mảng đệ quy và đa chiều assignment always involves value copying. Use the reference operator to copy an array by reference.
array(1) {
[1]=>
string(1) "d"
}
48 Bài tập mảng luôn liên quan đến việc sao chép giá trị. Sử dụng toán tử tham chiếu để sao chép một mảng bằng tham chiếu. ¶
Thomas Tulinsky ¶
array(1) {
[1]=>
string(1) "d"
}
49array(1) {
[1]=>
string(1) "d"
}
50array(1) {
[1]=>
string(1) "d"
}
51array(1) {
[1]=>
string(1) "d"
}
52array(1) {
[1]=>
string(1) "d"
}
53array(1) {
[1]=>
string(1) "d"
}
54 Liberchen tại Gmail Dot Com ¶ ¶
4 năm trước
array(1) {
[1]=>
string(1) "d"
}
55array(1) {
[1]=>
string(1) "d"
}
56array(1) {
[1]=>
string(1) "d"
}
57array(1) {
[1]=>
string(1) "d"
}
58array(1) {
[1]=>
string(1) "d"
}
59array(1) {
[1]=>
string(1) "d"
}
60array(1) {
[1]=>
string(1) "d"
}
54 Ken nhấn mạnh yap atsign email dot com ¶ ¶
14 năm trước
array(1) {
[1]=>
string(1) "d"
}
62array(1) {
[1]=>
string(1) "d"
}
63array(1) {
[1]=>
string(1) "d"
}
64array(1) {
[1]=>
string(1) "d"
}
65array(1) {
[1]=>
string(1) "d"
}
54 jeff splat codedread spot com ¶ ¶
17 năm trước
array(1) {
[1]=>
string(1) "d"
}
67array(1) {
[1]=>
string(1) "d"
}
68array(1) {
[1]=>
string(1) "d"
}
69array(1) {
[1]=>
string(1) "d"
}
70array(1) {
[1]=>
string(1) "d"
}
54 Hôm qua Php ' er ¶ ¶
5 năm trước
array(1) {
[1]=>
string(1) "d"
}
72array(1) {
[1]=>
string(1) "d"
}
73array(1) {
[1]=>
string(1) "d"
}
54 Chris tại ocportal dot com ¶ ¶
9 năm trước
array(1) {
[1]=>
string(1) "d"
}
75array(1) {
[1]=>
string(1) "d"
}
76array(1) {
[1]=>
string(1) "d"
}
54 ia [at] zoznam [dot] sk ¶ ¶
17 năm trước
array(1) {
[1]=>
string(1) "d"
}
78array(1) {
[1]=>
string(1) "d"
}
79array(1) {
[1]=>
string(1) "d"
}
80array(1) {
[1]=>
string(1) "d"
}
81array(1) {
[1]=>
string(1) "d"
}
82array(1) {
[1]=>
string(1) "d"
}
54 Hôm qua Php ' er ¶ ¶
5 năm trước
array(1) {
[1]=>
string(1) "d"
}
84array(1) {
[1]=>
string(1) "d"
}
85array(1) {
[1]=>
string(1) "d"
}
86array(1) {
[1]=>
string(1) "d"
}
87array(1) {
[1]=>
string(1) "d"
}
88array(1) {
[1]=>
string(1) "d"
}
54
Chris tại ocportal dot com ¶ ¶
9 năm trước
array(1) {
[1]=>
string(1) "d"
}
90array(1) {
[1]=>
string(1) "d"
}
91array(1) {
[1]=>
string(1) "d"
}
54 ia [at] zoznam [dot] sk ¶ ¶
17 năm trước
array(1) {
[1]=>
string(1) "d"
}
93array(1) {
[1]=>
string(1) "d"
}
94array(1) {
[1]=>
string(1) "d"
}
95array(1) {
[1]=>
string(1) "d"
}
96array(1) {
[1]=>
string(1) "d"
}
97array(1) {
[1]=>
string(1) "d"
}
98 Hôm qua Php ' er ¶ ¶
17 năm trước
array(1) {
[1]=>
string(1) "d"
}
99array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
00array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
01array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
02array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
03array(1) {
[1]=>
string(1) "d"
}
54 Hôm qua Php ' er ¶ ¶
5 năm trước
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
05array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
06array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
07array(1) {
[1]=>
string(1) "d"
}
54 Chris tại ocportal dot com ¶ ¶
4 năm trước
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
09array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
10array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
11array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
12array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
13array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
14array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
15array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
16array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
11array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
18array(1) {
[1]=>
string(1) "d"
}
54 9 năm trước ¶
4 năm trước
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
20 ia [at] zoznam [dot] sk ¶ ¶
Phplatino tại gmail dot com ¶
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
21array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
22array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
23array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
24array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
25array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
26array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
27array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
28array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
29array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
30array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
31array(1) {
[1]=>
string(1) "d"
}
54 1 năm trước ¶
5 năm trước
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
33array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
34array(1) {
[1]=>
string(1) "d"
}
54
Chris tại ocportal dot com ¶ ¶
9 năm trước
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
36array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
37array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
38 ia [at] zoznam [dot] sk ¶ ¶
Phplatino tại gmail dot com ¶
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
39array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
40array(1) {
[1]=>
string(1) "d"
}
54 1 năm trước ¶
9 năm trước
array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
42array(4) {
["foo"]=>
string(3) "bar"
["bar"]=>
string(3) "foo"
[100]=>
int(-100)
[-100]=>
int(100)
}
43array(1) {
[1]=>
string(1) "d"
}
54Trong PHP, có ba loại mảng: mảng được lập chỉ mục - mảng có chỉ mục số. Mảng liên kết - Mảng với các khóa có tên. Mảng đa chiều - Mảng chứa một hoặc nhiều mảng.Indexed arrays - Arrays with a numeric index. Associative arrays - Arrays with named keys. Multidimensional arrays - Arrays containing one or more arrays.
Một mảng là cấu trúc dữ liệu lưu trữ một hoặc nhiều loại giá trị tương tự trong một giá trị duy nhất. Ví dụ: nếu bạn muốn lưu trữ 100 số thì thay vì xác định 100 biến thì dễ dàng xác định một mảng có độ dài 100.a data structure that stores one or more similar type of values in a single value. For example if you want to store 100 numbers then instead of defining 100 variables its easy to define an array of 100 length.
Một mảng là một tập hợp các phần tử cùng loại được đặt trong các vị trí bộ nhớ liên tục có thể được tham chiếu riêng lẻ bằng cách sử dụng một chỉ mục cho một định danh duy nhất. Năm giá trị của loại int có thể được khai báo là một mảng mà không phải khai báo năm biến khác nhau (mỗi biến có định danh riêng).a collection of elements of the same type placed in contiguous memory locations that can be individually referenced by using an index to a unique identifier. Five values of type int can be declared as an array without having to declare five different variables (each with its own identifier).
Loại mảng là loại dữ liệu do người dùng xác định bao gồm một tập hợp các phần tử được đặt hàng của một loại dữ liệu.Một loại mảng thông thường có giới hạn trên được xác định trên số lượng phần tử và sử dụng vị trí thứ tự làm chỉ mục mảng.a user-defined data type consisting of an ordered set of elements of a single data type. An ordinary array type has a defined upper bound on the number of elements and uses the ordinal position as the array index.
Có ba loại mảng khác nhau: mảng được lập chỉ mục, mảng đa chiều và mảng kết hợp.indexed arrays, multidimensional arrays, and associative arrays.
Một mảng trong PHP thực sự là một bản đồ được đặt hàng.Bản đồ là một loại liên kết các giá trị với các khóa.Loại này được tối ưu hóa cho một số cách sử dụng khác nhau;Nó có thể được coi là một mảng, danh sách (vector), bảng băm (một triển khai bản đồ), từ điển, thu thập, ngăn xếp, hàng đợi, và có thể nhiều hơn nữa.an ordered map. A map is a type that associates values to keys. This type is optimized for several different uses; it can be treated as an array, list (vector), hash table (an implementation of a map), dictionary, collection, stack, queue, and probably more.