Hướng dẫn array pointer in php - con trỏ mảng trong php
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. 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. Show
Nội dung chính ShowShow
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ápChỉ định với Array ()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" }5 đượ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" }5 pairs as arguments. array( key => value, key2 => value2, key3 => value3, ... )array can be created using the array() language construct. It takes any number of comma-separated array(1) { [1]=> string(1) "d" }5 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" }6 được ưu tiên hơn array(1) { [1]=> string(1) "d" }7. 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.
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) }0 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. 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: key casts will occur:
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( key => value, key2 => value2, key3 => value3, ... )34 Ví dụ trên sẽ xuất ra: array(1) { [1]=> string(1) "d" } Chuyển đổi thành mảng Chuyển đổi array(4) { [0]=> string(3) "foo" [1]=> string(3) "bar" [2]=> string(5) "hello" [3]=> string(5) "world" } 1 thành một mảng dẫn đến một mảng trống.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.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 keysint and string keys array( key => value, key2 => value2, key3 => value3, ... )37 Ví 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) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }8, 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( key => value, key2 => value2, key3 => value3, ... )36 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. 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( key => value, key2 => value2, key3 => value3, ... )38 Ví dụ trên sẽ xuất ra: array( key => value, key2 => value2, key3 => value3, ... )3 Vì tất cả các khóa trong ví dụ trên được chuyển đến array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }8, 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( key => value, key2 => value2, key3 => value3, ... )36 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( key => value, key2 => value2, key3 => value3, ... )39 Ví dụ trên sẽ xuất ra: array(1) { [1]=> string(1) "d" }7 Vì tất cả các khóa trong ví dụ trên được chuyển đến array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }8, 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( key => value, key2 => value2, key3 => value3, ... )36 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) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }8, 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( key => value, key2 => value2, key3 => value3, ... )36 là giá trị duy nhất còn lại. array(1) { [1]=> string(1) "d" }73 Ví dụ trên sẽ xuất ra: array(1) { [1]=> string(1) "d" }1 Ví dụ #3 Phím Int và Chuỗi hỗn hợpCá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(1) { [1]=> string(1) "d" }75 Ví dụ trên sẽ xuất ra: array(1) { [1]=> string(1) "d" }5
Một cú pháp mảng ngắn tồn tại thay thế array(1) { [1]=> string(1) "d" }78
Một cú pháp mảng ngắn tồn tại thay thếarray(1) { [1]=> string(1) "d" }8 bằng array(1) { [1]=> string(1) "d" }9.array can be modified by explicitly setting values in it. Ví dụ #1 một mảng đơn giản array(1) { [1]=> string(1) "d" }8 bằng array(1) { [1]=> string(1) "d" }9. array(1) { [1]=> string(1) "d" }79-level error message ( array(1) { [1]=> string(1) "d" }10-level prior to PHP 8.0.0) will be issued, and the result will be array( key => value, key2 => value2, key3 => value3, ... )31. array, specifying the key in brackets. The key can also be omitted, resulting in an empty pair of brackets ( array(1) { [1]=> string(1) "d" }9). array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }1 array(1) { [1]=> string(1) "d" }8 bằng array(1) { [1]=> string(1) "d" }9.string yields array( key => value, key2 => value2, key3 => value3, ... )31. Prior to PHP 7.4.0, that did not issue an error message. As of PHP 7.4.0, this issues array(1) { [1]=> string(1) "d" }10; as of PHP 8.0.0, this issues array(1) { [1]=> string(1) "d" }79. Khóa có thể là một int hoặc một chuỗi. Giá trị có thể là bất kỳ loại.array can be modified by explicitly setting values in it. array( key => value, key2 => value2, key3 => value3, ... )31 or array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }9, 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(1) { [1]=> string(1) "d" }9 may actually stand for string access operator. It is always better to initialize a variable by a direct assignment.
array( key => value, key2 => value2, key3 => value3, ... )31 hoặc array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }9, 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 tiễn 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à array(1) { [1]=> string(1) "d" }9 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( key => value, key2 => value2, key3 => value3, ... )31 or array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }9, 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(1) { [1]=> string(1) "d" }9 may actually stand for string access operator. It is always better to initialize a variable by a direct assignment. unset() function on it. array(1) { [1]=> string(1) "d" }51
Mảng phá hủyCá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(1) { [1]=> string(1) "d" }9 (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. array(1) { [1]=> string(1) "d" }55 array(1) { [1]=> string(1) "d" }56 array(1) { [1]=> string(1) "d" }57 list() language constructs. These constructs can be used to destructure an array into distinct variables. array(1) { [1]=> string(1) "d" }55 array(1) { [1]=> string(1) "d" }56 array(1) { [1]=> string(1) "d" }57 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ó. array(1) { [1]=> string(1) "d" }58 array(1) { [1]=> string(1) "d" }59 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }10 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( key => value, key2 => value2, key3 => value3, ... )30. array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }12 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }13 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }14 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. array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }15 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }13 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }17 Phá hủy mảng có thể được sử dụng để dễ dàng hoán đổi hai biến. array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }18 array(1) { [1]=> string(1) "d" }56 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }60
array( key => value, key2 => value2, key3 => value3, ... )30 (không).array(1) { [1]=> string(1) "d" } 79-level error message (array(1) { [1]=> string(1) "d" } 10-level prior to PHP 8.0.0) will be issued, and the result will be array( key => value, key2 => value2, key3 => value3, ... )31.Ví dụ trên sẽ xuất ra:
array( key => value, key2 => value2, key3 => value3, ... )30 (không). array(1) { [1]=> string(1) "d" }79-level error message ( array(1) { [1]=> string(1) "d" }10-level prior to PHP 8.0.0) will be issued, and the result will be array( key => value, key2 => value2, key3 => value3, ... )31. arrays. It provides an easy way to traverse an array. Ví dụ trên sẽ xuất ra:Mảng phá hủyCá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(1) { [1]=> string(1) "d" }9 (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. array(1) { [1]=> string(1) "d" }55 array(1) { [1]=> string(1) "d" }56 array(1) { [1]=> string(1) "d" }57 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ó.string ( 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 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 namedarray(1) { [1]=> string(1) "d" }130, then PHP will substitute in the string array(1) { [1]=> string(1) "d" }131 and use that. 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(1) { [1]=> string(1) "d" }160.0. 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. Phá hủy mảng có thể được sử dụng để dễ dàng hoán đổi hai biến.0. This has been deprecated as of PHP 7.2.0, and issues an error of levelarray(1) { [1]=> string(1) "d" }79. As of PHP 8.0.0, it has been removed and throws an Error exception.
Mảng phá hủy array(1) { [1]=> string(1) "d" }137 array(1) { [1]=> string(1) "d" }228 array(1) { [1]=> string(1) "d" }139 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(1) { [1]=> string(1) "d" }9 (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. array(1) { [1]=> string(1) "d" }10 level errors (by setting it to array(1) { [1]=> string(1) "d" }01, for example), such uses will become immediately visible. By default, error_reporting is set not to show notices. array(1) { [1]=> string(1) "d" }10 level errors (by setting it to array(1) { [1]=> string(1) "d" }01, 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 (' array(1) { [1]=> string(1) "d" }56' và ' array(1) { [1]=> string(1) "d" }03') 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" }04 Đâ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" }05 Lưu ý rằng array(1) { [1]=> string(1) "d" }06 cũng là một định danh hợp lệ, giống như array(1) { [1]=> string(1) "d" }130 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" }06 is also a valid identifier, just like array(1) { [1]=> string(1) "d" }130 in the first example. But the last example is in fact the same as writing: array(1) { [1]=> string(1) "d" }08 array(1) { [1]=> string(1) "d" }06 is also a valid identifier, just like array(1) { [1]=> string(1) "d" }130 in the first example. But the last example is in fact the same as writing: array(1) { [1]=> string(1) "d" }08 bởi vì array(1) { [1]=> string(1) "d" }06 bằng array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }8, v.v. array(1) { [1]=> string(1) "d" }06 equals array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }8, etc. array(1) { [1]=> string(1) "d" }06 equals array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }8, 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" }11 và array(1) { [1]=> string(1) "d" }12 theo cách này, vì chúng được bảo lưu từ khóa.
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" }14 giống hệt như array(1) { [1]=> string(1) "d" }15.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" }14 is exactly the same as array(1) { [1]=> string(1) "d" }15. 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" }14 is exactly the same as array(1) { [1]=> string(1) "d" }15. 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" }16 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" }16 bytes on either side. Uninitialized typed properties are silently discarded. array(1) { [1]=> string(1) "d" }17object 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" }16 bytes on either side. Uninitialized typed properties are silently discarded. array(1) { [1]=> string(1) "d" }17 Ví dụ trên sẽ xuất ra: array(1) { [1]=> string(1) "d" }0 Những array(1) { [1]=> string(1) "d" }16 này có thể dẫn đến một số hành vi bất ngờ: array(1) { [1]=> string(1) "d" }19 array(1) { [1]=> string(1) "d" }20 array(1) { [1]=> string(1) "d" }21 Ví dụ trên sẽ xuất ra: array(1) { [1]=> string(1) "d" }1 Những array(1) { [1]=> string(1) "d" }16 này có thể dẫn đến một số hành vi bất ngờ: array(1) { [1]=> string(1) "d" }19 array(1) { [1]=> string(1) "d" }20 array(1) { [1]=> string(1) "d" }21 array(1) { [1]=> string(1) "d" }16 này có thể dẫn đến một số hành vi bất ngờ: 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'.1 to an array results in an empty array. array(1) { [1]=> string(1) "d" } 161 to an array results in an empty array.Chuyển đổi array(4) { [0]=> string(3) "foo" [1]=> string(3) "bar" [2]=> string(5) "hello" [3]=> string(5) "world" } 1 thành một mảng dẫn đến một mảng trống.Traversable can be expanded. Array unpacking with Mảng Giải nénTraversable can be expanded. Array unpacking witharray(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }61 is available as of PHP 7.4.0. Một mảng được tiền tố bởi
array(1) { [1]=> string(1) "d" }621:1: array(1) { [1]=> string(1) "d" }26 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_merge() function. That is, later string keys overwrite earlier ones and integer keys are renumbered: Ví dụ #9 Mảng đơn giản Giải nénarray_merge() function. That is, later string keys overwrite earlier ones and integer keys are renumbered: Giải nén một mảng với toán tử 1 tuân 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(1) { [1]=> string(1) "d" }28 array(1) { [1]=> string(1) "d" }29 array(1) { [1]=> string(1) "d" }30
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.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ợ: array(1) { [1]=> string(1) "d" }34 Ví dụ array(1) { [1]=> string(1) "d" }35 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" }36 array(1) { [1]=> string(1) "d" }59 array(1) { [1]=> string(1) "d" }38 Ví dụ trên sẽ xuất ra: array(1) { [1]=> string(1) "d" }2 Những array(1) { [1]=> string(1) "d" }16 này có thể dẫn đến một số hành vi bất ngờ:array directly is possible by passing them by reference. array directly is possible by passing them by reference. 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'. array(1) { [1]=> string(1) "d" }39 Ví dụ trên sẽ xuất ra: array(1) { [1]=> string(1) "d" }3 Những array(1) { [1]=> string(1) "d" }16 này có thể dẫn đến một số hành vi bất ngờ:array directly is possible by passing them by reference. 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'. array(1) { [1]=> string(1) "d" }40 Ví dụ trên sẽ xuất ra: array(1) { [1]=> string(1) "d" }4 Những array(1) { [1]=> string(1) "d" }16 này có thể dẫn đến một số hành vi bất ngờ:array directly is possible by passing them by reference. 16 này có thể dẫn đến một số hành vi bất ngờ: array(1) { [1]=> string(1) "d" }41 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'.s 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.
array(1) { [1]=> string(1) "d" }4216 này có thể dẫn đến một số hành vi bất ngờ:1 thành một mảng dẫn đến một mảng trống. array(1) { [1]=> string(1) "d" }42 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'.s 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. array can be anything, it can also be another array. This enables the creation of recursive and multi-dimensional arrays. Chuyển đổi array(1) { [1]=> string(1) "d" }161 thành một mảng dẫn đến một mảng trống.1 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(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }61 có sẵn kể từ Php 7.4.0. array(1) { [1]=> string(1) "d" }43 array(1) { [1]=> string(1) "d" }44 array(1) { [1]=> string(1) "d" }45 Mảng Giải nénarray can be anything, it can also be another array. This enables the creation of recursive and multi-dimensional arrays. array(1) { [1]=> string(1) "d" }46 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(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }61: assignment always involves value copying. Use the reference operator to copy an array by reference. 1 tuân 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(1) { [1]=> string(1) "d" }47 array(1) { [1]=> string(1) "d" }48 array(1) { [1]=> string(1) "d" }49 array(1) { [1]=> string(1) "d" }50 array(1) { [1]=> string(1) "d" }51 array(1) { [1]=> string(1) "d" }52 Ví dụ #9 Mảng đơn giản Giải nén ¶ ¶ Ghi chú: array(1) { [1]=> string(1) "d" }53 array(1) { [1]=> string(1) "d" }54 array(1) { [1]=> string(1) "d" }55 array(1) { [1]=> string(1) "d" }56 array(1) { [1]=> string(1) "d" }57 array(1) { [1]=> string(1) "d" }58 array(1) { [1]=> string(1) "d" }52 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. ¶ 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ợ: array(1) { [1]=> string(1) "d" }60 array(1) { [1]=> string(1) "d" }61 array(1) { [1]=> string(1) "d" }62 array(1) { [1]=> string(1) "d" }63 array(1) { [1]=> string(1) "d" }52 Ví dụ ¶ 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" }65 array(1) { [1]=> string(1) "d" }66 array(1) { [1]=> string(1) "d" }67 array(1) { [1]=> string(1) "d" }68 array(1) { [1]=> string(1) "d" }52 Ví dụ trên sẽ xuất ra: ¶ Những array(1) { [1]=> string(1) "d" }70 array(1) { [1]=> string(1) "d" }71 array(1) { [1]=> string(1) "d" }52 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'. array(1) { [1]=> string(1) "d" }73 array(1) { [1]=> string(1) "d" }74 array(1) { [1]=> string(1) "d" }52
array(1) { [1]=> string(1) "d" }76 array(1) { [1]=> string(1) "d" }77 array(1) { [1]=> string(1) "d" }78 array(1) { [1]=> string(1) "d" }79 array(1) { [1]=> string(1) "d" }80 array(1) { [1]=> string(1) "d" }52 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'.s 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. ¶ Chuyển đổi array(1) { [1]=> string(1) "d" }82 array(1) { [1]=> string(1) "d" }83 array(1) { [1]=> string(1) "d" }84 array(1) { [1]=> string(1) "d" }85 array(1) { [1]=> string(1) "d" }86 array(1) { [1]=> string(1) "d" }52 Mảng Giải nénarray can be anything, it can also be another array. This enables the creation of recursive and multi-dimensional arrays. array(1) { [1]=> string(1) "d" }88 array(1) { [1]=> string(1) "d" }89 array(1) { [1]=> string(1) "d" }52 Một mảng được tiền tố bởi ¶
array(1) { [1]=> string(1) "d" }91 array(1) { [1]=> string(1) "d" }92 array(1) { [1]=> string(1) "d" }93 array(1) { [1]=> string(1) "d" }94 array(1) { [1]=> string(1) "d" }95 array(1) { [1]=> string(1) "d" }96 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'.s 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. ¶
array(1) { [1]=> string(1) "d" }97 array(1) { [1]=> string(1) "d" }98 array(1) { [1]=> string(1) "d" }99 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }00 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }01 array(1) { [1]=> string(1) "d" }52 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'.s 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. ¶ Chuyển đổi array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }03 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }04 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }05 array(1) { [1]=> string(1) "d" }52 Mảng Giải nénarray can be anything, it can also be another array. This enables the creation of recursive and multi-dimensional arrays. Một mảng được tiền tố bởiMột mảng được tiền tố bởi ¶ Mảng Giải nénarray can be anything, it can also be another array. This enables the creation of recursive and multi-dimensional arrays. array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }18 Một mảng được tiền tố bởi ¶
array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }19 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }20 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }21 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }22 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }23 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }24 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }25 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }26 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }27 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }28 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }29 array(1) { [1]=> string(1) "d" }52 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ử ¶ Chuyển đổi array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }31 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }32 array(1) { [1]=> string(1) "d" }52
Chuyển đổi array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }34 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }35 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }36 Mảng Giải nénarray can be anything, it can also be another array. This enables the creation of recursive and multi-dimensional arrays. array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }37 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }38 array(1) { [1]=> string(1) "d" }52 Một mảng được tiền tố bởi ¶ 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'. array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }40 array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) }41 array(1) { [1]=> string(1) "d" }52 |