Hướng dẫn php array to list - mảng php vào danh sách

Trong hướng dẫn này, tôi sẽ liệt kê một danh sách các hàm phổ biến về mảng trong PHP với các ví dụ về cách sử dụng và cách làm tốt nhất. Mỗi nhà phát triển PHP phải biết sử dụng chúng như thế nào và cách kết hợp các hàm mảng để làm cho code dễ đọc và ngắn gọn.

Nội dung chính ShowShow

  • Làm cho Code của Bạn Ngắn hơn
  • Các Hàm Lọc
  • Duyệt qua các Mảng
  • Trộn các Mảng
  • Làm toán Với các Giá trị của Mảng
  • Tạo Mảng
  • Sắp xếp Mảng
  • Kết hợp các Hàm Mảng Một cách Chuyên nghiệp
  • Đọc thêm và các Liên kết có Liên quan

Ngoài ra, còn có một bài thuyết trình đi kèm với các code ví dụ, do đó bạn có thể tải xuống từ các liên kết liên quan và đưa nó cho đồng nghiệp của bạn xem để xây dựng một đội ngũ mạnh mẽ hơn.

Cơ bản

Hãy bắt đầu với các hàm cơ bản làm việc với các khoá và giá trị của mảng. Một trong số chúng là array_combine(), nó tạo ra một mảng bằng cách sử dụng các khoá của một mảng và các giá trị của một mảng khác:

$keys = ['sky', 'grass', 'orange'];
$values = ['blue', 'green', 'orange'];

$array = array_combine($keys, $values);
print_r($array);

// Array
// (
//     [sky] => blue
//     [grass] => green
//     [orange] => orange
// )

Bạn chắc đã biết, hàm array_values​​() trả về một mảng các giá trị đã được lập chỉ mục, array_keys() trả về một mảng các khoá của một mảng cho trước, và array_flip() đổi chỗ các khoá với các giá trị:

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )

Làm cho Code của Bạn Ngắn hơn

Các Hàm Lọc

// define array
$array = ['a', 'b', 'c'];

// without list()
$a = $array[0];
$b = $array[1];
$c = $array[2];

// with list()
list($a, $b, $c) = $array;

Duyệt qua các Mảng

$string = 'hello|wild|world';
list($hello, , $world) = explode('|', $string);
echo("$hello, $world"); // hello, world

Trộn các Mảng

$arrays = [[1, 2], [3, 4], [5, 6]];

foreach ($arrays as list($a, $b)) {
    $c = $a + $b;
    echo($c . ', '); // 3, 7, 11, 
}

Làm toán Với các Giá trị của Mảng

$array = [
    'clothes' => 't-shirt',
    'size'    => 'medium',
    'color'   => 'blue',
];

extract($array);

echo("$clothes $size $color"); // t-shirt medium blue

Tạo Mảng

Sắp xếp Mảng

$clothes = 't-shirt';
$size = 'medium';
$color = 'blue';

$array = compact('clothes', 'size', 'color');
print_r($array);

// Array
// (
//     [clothes] => t-shirt
//     [size] => medium
//     [color] => blue
// )

Các Hàm Lọc

Duyệt qua các Mảng

$numbers = [20, -3, 50, -99, 55];

$positive = array_filter($numbers, function($number) {
    return $number > 0;
});

print_r($positive); // [0 => 20, 2 => 50, 4 => 55]

Trộn các Mảng

Làm toán Với các Giá trị của Mảng

$numbers = [-1, 0, 1];

$not_empty = array_filter($numbers);

print_r($not_empty); // [0 => -1, 2 => 1]

Tạo Mảng

$array = [1, 1, 1, 1, 2, 2, 2, 3, 4, 5, 5];
$uniques = array_unique($array);

print_r($uniques);

// Array
// (
//     [0] => 1
//     [4] => 2
//     [7] => 3
//     [8] => 4
//     [9] => 5
// )

Sắp xếp Mảng

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
0

Kết hợp các Hàm Mảng Một cách Chuyên nghiệp

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
1

Duyệt qua các Mảng

Trộn các Mảng

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
2

Làm toán Với các Giá trị của Mảng

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
3

Tạo Mảng

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
4

Trộn các Mảng

Làm toán Với các Giá trị của Mảng

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
5

Tạo Mảng

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
6

Làm toán Với các Giá trị của Mảng

Sử dụng array_sum() để lấy tổng các giá trị của mảng, array_product() để nhân chúng, hoặc tạo công thức của riêng bạn với array_reduce():

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
7

Để đếm tất cả các giá trị của một mảng, sử dụng array_count_values​​(). Nó sẽ cung cấp cho bạn tất cả các giá trị duy nhất của một mảng cho trước như là các khoá và kết quả đếm các giá trị này như là một giá trị:

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
8

Tạo Mảng

Để tạo ra một mảng với một kích thước nhất định và giá trị như nhau, sử dụng array_fill():

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
9

Để tạo một mảng với một dãy khóa và giá trị, giống như giờ trong ngày hoặc các ký tự, hãy sử dụng range():

// define array
$array = ['a', 'b', 'c'];

// without list()
$a = $array[0];
$b = $array[1];
$c = $array[2];

// with list()
list($a, $b, $c) = $array;
0

Để lấy một phần của mảng, ví dụ, chỉ ba phần tử đầu tiên—sử dụng array_slice():

// define array
$array = ['a', 'b', 'c'];

// without list()
$a = $array[0];
$b = $array[1];
$c = $array[2];

// with list()
list($a, $b, $c) = $array;
1

Sắp xếp Mảng

Nên nhớ rằng mọi hàm sắp xếp trong PHP đều hoạt động với các mảng bằng một tham chiếu và trả về true nếu thành công hoặc false nếu thất bại. Có một hàm sắp xếp cơ bản được gọi là sort(), và nó sắp xếp các giá trị theo thứ tự tăng dần mà không bảo lưu các khóa. Hàm sắp xếp có thể được thêm vào trước bằng các ký tự sau:true nếu thành công hoặc false nếu thất bại. Có một hàm sắp xếp cơ bản được gọi là sort(), và nó sắp xếp các giá trị theo thứ tự tăng dần mà không bảo lưu các khóa. Hàm sắp xếp có thể được thêm vào trước bằng các ký tự sau:

  • a, sắp xếp bảo lưu các khoá, sắp xếp bảo lưu các khoá
  • k, sắp xếp theo các khoá, sắp xếp theo các khoá
  • r, sắp xếp theo chiều ngược lại/giảm dần theo thứ tự, sắp xếp theo chiều ngược lại/giảm dần theo thứ tự
  • u, sắp xếp với một hàm người dùng, sắp xếp với một hàm người dùng

Bạn có thể thấy các kết hợp của các chữ cái này trong bảng sau:

a k r u
a k
r u
k r u
r r u asort
u u
asort

arsort

uasort

// define array
$array = ['a', 'b', 'c'];

// without list()
$a = $array[0];
$b = $array[1];
$c = $array[2];

// with list()
list($a, $b, $c) = $array;
2

ksort

// define array
$array = ['a', 'b', 'c'];

// without list()
$a = $array[0];
$b = $array[1];
$c = $array[2];

// with list()
list($a, $b, $c) = $array;
3

krsort

// define array
$array = ['a', 'b', 'c'];

// without list()
$a = $array[0];
$b = $array[1];
$c = $array[2];

// with list()
list($a, $b, $c) = $array;
4

rsort

// define array
$array = ['a', 'b', 'c'];

// without list()
$a = $array[0];
$b = $array[1];
$c = $array[2];

// with list()
list($a, $b, $c) = $array;
5

usort

Kết hợp các Hàm Mảng Một cách Chuyên nghiệp

Ma thuật thật sự bắt đầu khi bạn kết hợp các hàm mảng. Dưới đây là cách bạn có thể cắt và xóa các giá trị rỗng chỉ bằng một dòng code với

$string = 'hello|wild|world';
list($hello, , $world) = explode('|', $string);
echo("$hello, $world"); // hello, world
8 và
$arrays = [[1, 2], [3, 4], [5, 6]];

foreach ($arrays as list($a, $b)) {
    $c = $a + $b;
    echo($c . ', '); // 3, 7, 11, 
}
0:

Để tạo một id cho một bản đồ tiêu đề từ một mảng các model, chúng ta có thể sử dụng một sự kết hợp của

$arrays = [[1, 2], [3, 4], [5, 6]];

foreach ($arrays as list($a, $b)) {
    $c = $a + $b;
    echo($c . ', '); // 3, 7, 11, 
}
4 và
$string = 'hello|wild|world';
list($hello, , $world) = explode('|', $string);
echo("$hello, $world"); // hello, world
9:

Để có được ba giá trị đầu tiên của một mảng, chúng ta có thể sử dụng $arrays = [[1, 2], [3, 4], [5, 6]]; foreach ($arrays as list($a, $b)) { $c = $a + $b; echo($c . ', '); // 3, 7, 11, }6, $arrays = [[1, 2], [3, 4], [5, 6]]; foreach ($arrays as list($a, $b)) { $c = $a + $b; echo($c . ', '); // 3, 7, 11, }7 và $arrays = [[1, 2], [3, 4], [5, 6]]; foreach ($arrays as list($a, $b)) { $c = $a + $b; echo($c . ', '); // 3, 7, 11, }8:

  • Rất dễ sử dụng
    $arrays = [[1, 2], [3, 4], [5, 6]];
    
    foreach ($arrays as list($a, $b)) {
        $c = $a + $b;
        echo($c . ', '); // 3, 7, 11, 
    }
    9 và
    $arrays = [[1, 2], [3, 4], [5, 6]];
    
    foreach ($arrays as list($a, $b)) {
        $c = $a + $b;
        echo($c . ', '); // 3, 7, 11, 
    }
    0 để tính tổng theo thứ tự trong một vài dòng:
  • Tóm tắt
  • Như bạn thấy đó, kiến ​​thức về các hàm chính để thao tác mảng có thể làm cho code của bạn trở nên ngắn gọn hơn và dễ đọc hơn. Tất nhiên, PHP có nhiều hơn các hàm mảng này, và ngay cả các hàm đã cho cũng có nhiều biến thể để sử dụng với các tham số và cờ, nhưng tôi nghĩ rằng trong hướng dẫn này, chúng ta đã khái quát những điều cơ bản mà mọi nhà phát triển PHP nên biết.