Php trích xuất các giá trị từ mảng

Trong Làm việc với các phần tử mảng trong PHP, bạn đã biết cách đọc và thay đổi các phần tử riêng lẻ trong một mảng PHP. Tuy nhiên, đôi khi rất hữu ích khi làm việc với nhiều phần tử mảng. Ví dụ: bạn có thể muốn làm việc với một mảng lớn theo khối hoặc sắp xếp một mảng rồi chỉ truy xuất các giá trị “top 10” từ đầu mảng

Trong hướng dẫn này, bạn sẽ khám phá hàm


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2 của PHP để trích xuất một loạt các phần tử từ một mảng

Cách sử dụng $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )" print_r( array_slice( $directors, 1, 2, true ) ); 2 cơ bản

Để sử dụng


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2, bạn thường truyền cho nó các đối số sau

  • Mảng để trích xuất lát cắt từ
  • Vị trí của phần tử mà bạn muốn bắt đầu trích xuất (phần tử đầu tiên có vị trí là
    
    $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );
    
    // Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
    print_r( array_slice( $directors, 1, 2, true ) );
    
    5)
  • Số phần tử trích xuất


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2 sau đó trả về một mảng chứa các phần tử được trích xuất. (Mảng ban đầu không được sửa đổi. )

Đây là một ví dụ cho thấy cách sử dụng


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [0] => Stanley Kubrick [1] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2 ) );

Đoạn mã trên tạo một mảng gồm 4 phần tử gồm tên giám đốc, sau đó sử dụng


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2 để trích xuất phần tử thứ hai và thứ ba

Lưu ý rằng vị trí của một phần tử không nhất thiết phải giống với chỉ mục của nó. Ví dụ: phần tử đầu tiên trong một mảng luôn có vị trí là


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
5, nhưng chỉ số của nó có thể là

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2. Các mảng được lập chỉ mục trong PHP không nhất thiết phải có các chỉ số liền kề bắt đầu từ 0 (mặc dù chúng thường như vậy)

bảo toàn chỉ số

Bạn có thể thấy từ ví dụ trên rằng


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2 lập chỉ mục lại các phần tử trong mảng kết quả. Stanley Kubrick có chỉ số mới là

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
5, trong khi Martin Scorsese có chỉ số mới là

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
5. Thường thì đây không phải là vấn đề, vì bạn chỉ quan tâm đến thứ tự của các phần tử trong lát cắt kết quả chứ không phải chỉ số của chúng

Tuy nhiên, đôi khi điều quan trọng là phải giữ lại các chỉ số của các phần tử được trích xuất. Ví dụ: các chỉ mục có thể là các khóa trỏ đến các bản ghi trong bảng cơ sở dữ liệu hoặc chúng có thể có một số ý nghĩa khác. Trong tình huống này, bạn có thể bảo toàn các chỉ số của các phần tử được trích xuất bằng cách chuyển đối số thứ tư của


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
6 sang

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2. Đây là một ví dụ


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );

Lưu ý rằng


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2 hiện đã giữ nguyên các chỉ số từ mảng ban đầu.

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
5 cho Stanley Kubrick, và

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [0] => Stanley Kubrick [1] => Martin Scorsese [2] => Fritz Lang )"
print_r( array_slice( $directors, 1 ) );
0 cho Martin Scorsese


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2 luôn bảo tồn các chỉ số trong mảng kết hợp, như bạn sẽ thấy trong giây lát. Vì vậy, không cần truyền đối số

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
6 khi cắt các mảng kết hợp

Trích xuất đến cuối một mảng

Nếu bạn bỏ qua đối số thứ ba thì


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2 sẽ trích xuất từ ​​vị trí bắt đầu cho đến hết mảng. Điều này có thể hữu ích khi bạn không biết mảng dài bao nhiêu. Ví dụ


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [0] => Stanley Kubrick [1] => Martin Scorsese [2] => Fritz Lang )"
print_r( array_slice( $directors, 1 ) );

Sử dụng $directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )" print_r( array_slice( $directors, 1, 2, true ) ); 2 trên mảng kết hợp

Bạn cũng có thể sử dụng


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2 để trích xuất các phần tử từ một mảng kết hợp. Đây là một ví dụ truy xuất 2 phần tử từ một mảng kết hợp, bắt đầu từ phần tử thứ hai


$movie = array( "title" => "Rear Window",
                "director" => "Alfred Hitchcock",
                "year" => 1954, 
                "minutes" => 112 );

// Displays "Array ( [director] => Alfred Hitchcock [year] => 1954 )"
print_r( array_slice( $movie, 1, 2 ) );

Lưu ý rằng, trong ví dụ trên,


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2 bảo toàn các chỉ số

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [0] => Stanley Kubrick [1] => Martin Scorsese [2] => Fritz Lang )"
print_r( array_slice( $directors, 1 ) );
7 và

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [0] => Stanley Kubrick [1] => Martin Scorsese [2] => Fritz Lang )"
print_r( array_slice( $directors, 1 ) );
8 trong mảng kết quả

Bản tóm tắt

Trong bài viết này, bạn đã khám phá


$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );

// Displays "Array ( [1] => Stanley Kubrick [2] => Martin Scorsese )"
print_r( array_slice( $directors, 1, 2, true ) );
2, một hàm PHP tiện dụng trả về một loạt các phần tử trong một mảng. Bạn đã thấy cách

Làm cách nào tôi có thể chỉ in giá trị của một mảng trong PHP?

Để hiển thị cấu trúc mảng và giá trị trong PHP, chúng ta có thể sử dụng 2 hàm. Chúng ta có thể sử dụng var_dump() hoặc print_r() để hiển thị các giá trị của một mảng ở định dạng con người có thể đọc được hoặc để xem giá trị đầu ra của mảng chương trình.

Array_keys() dùng để làm gì trong PHP?

Mảng_keys() là một hàm tích hợp sẵn trong PHP và được sử dụng để trả về tất cả các khóa của và mảng hoặc tập hợp con của các khóa. Parameters: The function takes three parameters out of which one is mandatory and other two are optional.

Làm cách nào tôi có thể nhận được nhiều giá trị trong PHP?

PHP không hỗ trợ trả về nhiều giá trị trong một hàm . Bên trong một hàm khi câu lệnh return đầu tiên được thực thi, nó sẽ điều khiển trực tiếp trở lại hàm gọi và câu lệnh return thứ hai sẽ không bao giờ được thực thi.

Mục đích của hàm PHP expand extract() và compact() là gì?

Hàm compact() là một hàm có sẵn trong PHP và được sử dụng để tạo một mảng sử dụng các biến . Hàm này ngược với hàm extract(). Nó tạo ra một mảng kết hợp có khóa là tên biến và giá trị tương ứng của chúng là giá trị mảng.