Câu trả lời ngắn gọn là không, bạn không thể làm điều đó mà không cần lặp lại ít nhất nếu 'chiều thứ hai' có thể ở bất kỳ đâu. Nếu nó phải ở mục đầu tiên, bạn chỉ cần làm
is_array[$arr[0]];
Tuy nhiên, cách chung hiệu quả nhất mà tôi có thể tìm thấy là sử dụng vòng lặp foreach trên mảng, rút ngắn mạch bất cứ khi nào tìm thấy một lần truy cập [ít nhất là vòng lặp ngầm tốt hơn so với vòng lặp trực tiếp for[]]
$ more multi.php
'a',2 => 'b',3 => array[1,2,3]];
$b = array[1 => 'a',2 => 'b'];
$c = array[1 => 'a',2 => 'b','foo' => array[1,array[2]]];
function is_multi[$a] {
$rv = array_filter[$a,'is_array'];
if[count[$rv]>0] return true;
return false;
}
function is_multi2[$a] {
foreach [$a as $v] {
if [is_array[$v]] return true;
}
return false;
}
function is_multi3[$a] {
$c = count[$a];
for [$i=0;$i
$ php multi.php
is_multi took 7.53565130424 seconds in 500000 times
is_multi2 took 4.56964588165 seconds in 500000 times
is_multi3 took 9.01706600189 seconds in 500000 times
Vòng lặp ngầm định, nhưng chúng tôi không thể đoản mạch ngay khi tìm thấy kết quả phù hợp
$ more multi.php
'a',2 => 'b',3 => array[1,2,3]];
$b = array[1 => 'a',2 => 'b'];
function is_multi[$a] {
$rv = array_filter[$a,'is_array'];
if[count[$rv]>0] return true;
return false;
}
var_dump[is_multi[$a]];
var_dump[is_multi[$b]];
?>
$ php multi.php
bool[true]
bool[false]
Hộp đại diện cho chính mảng trong khi 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
Trong hướng dẫn này, bạn sẽ học-
Mảng số
Mảng số sử dụng số làm khóa truy cập
Khóa truy cập là tham chiếu đến khe bộ nhớ trong biến mảng
Access key được sử dụng bất cứ khi nào chúng ta muốn đọc hoặc gán giá trị mới cho một phần tử mảng
Dưới đây là cú pháp tạo mảng số trong php
Ví dụ về mảng
Hoặc là
NƠI ĐÂ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ờ hãy xem một ví dụ về một mảng số
Giả sử chúng ta có 5 bộ phim mà chúng ta muốn lưu trữ trong các biến mảng
Chúng ta có thể sử dụng ví dụ hiển thị bên dưới để làm điều đó
Nơi đây,
Mỗi bộ phim được cung cấp một số chỉ mục được sử dụng để truy xuất hoặc sửa đổi giá trị của nó. Quan sát đoạn mã sau-
đầ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 là 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 mã sau
________số 8_______đầu ra
Replacement Killers
Mảng kết hợp PHP
Mảng kết hợp khác với mảng số theo nghĩa là 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
NƠI ĐÂ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 tôi có một nhóm người và chúng tôi muốn chỉ định giới tính của từng người dựa trên 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 đó
NƠI ĐÂY,
đầ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 truy xuất 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 trong PHP
Đây là những 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 có liên quan lại với nhau
Bây giờ chúng ta hãy xem một ví dụ thực tế cài đặt một mảng nhiều chiều php
Bảng bên dưới hiển thị danh sách phim theo thể loại
Tiêu đề phimThể loạiPink PantherPhim hàiJohn EnglishPhim hàiDie HardHành độngExpendablesHành độngChúa tể của những chiếc nhẫnSử thiRomeo và JulietLãng mạnSee no evil hear no evilHàiThông tin trên có thể được biểu diễn dưới dạng mảng nhiều chiều. Đoạn mã dưới đây cho thấy việc thực hiện
0NƠI ĐÂY,
đầu ra
1Một cách khác để xác định cùng một mảng như sau
2đầu ra
3Ghi chú. mảng số phim đã được lồng vào bên trong mảng kết hợp danh mục
Mảng PHP. nhà điều hành
Toán tửTênMô tảCách thực hiệnOutputx + yUnionKết hợp các phần tử từ cả hai mảng4Array[[id] => 1 [value] => 10]X == yEqualSo sánh hai mảng nếu chúng bằng nhau và trả về true nếu có. 5True hoặc 1X === yGiống nhauSo sánh cả giá trị và kiểu dữ liệu6False hoặc 0X. = y, x y Không bằng ________4 _______7 Sai hoặc 0X. == yKhông giống nhau_______4_______8True hoặc 1Hàm mảng PHP
chức năng đếm
Hàm đếm dùng để đếm số phần tử mà một mảng php chứa. Đoạn mã dưới đây cho thấy việc thực hiện
9đầu ra
0hàm is_array
Hàm is_array được sử dụng để xác định xem một biến có phải là một mảng hay không. Bây giờ hãy xem một ví dụ triển khai các hàm is_array
1đầu ra
2Loại
Hàm này được sử dụng để sắp xếp mảng bằng cách sử dụng các giá trị. Ví dụ sau minh họa việc sử dụng nó