Cách lấy dữ liệu từ mảng nhiều chiều trong PHP

// Using short array syntax.
// Also, works with array() syntax.
$arr1 = [1, 2, 3];
$arr2 = [...$arr1]; //[1, 2, 3]
$arr3 = [0, ...$arr1]; //[0, 1, 2, 3]
$arr4 = [...$arr1, ...$arr2, 111]; //[1, 2, 3, 1, 2, 3, 111]
$arr5 = [...$arr1, ...$arr1]; //[1, 2, 3, 1, 2, 3]

function getArr() {
return ['a', 'b'];
}
$arr6 = [...getArr(), 'c' => 'd']; //['a', 'b', 'c' => 'd']
?>

Most of the array_flatten functions don't allow preservation of keys. Mine allows preserve, don't preserve, and preserve only strings (default).

// recursively reduces deep arrays to single-dimensional arrays
// $preserve_keys: (0=>never, 1=>strings, 2=>always)
function array_flatten($array, $preserve_keys = 1, &$newArray = Array()) {
  foreach ($array as $key => $child) {
    if (is_array($child)) {
      $newArray =& array_flatten($child, $preserve_keys, $newArray);
    } elseif ($preserve_keys + is_string($key) > 1) {
      $newArray[$key] = $child;
    } else {
      $newArray[] = $child;
    }
  }
  return $newArray;
}

// Tests

$array = Array(
  'A' => Array(
    1 => 'foo',
    2 => Array(
      'a' => 'bar'
    )
  ),
  'B' => 'baz'
);

echo 'var_dump($array);'."\n";
var_dump($array);
echo 'var_dump(array_flatten($array, 0));'."\n";
var_dump(array_flatten($array, 0));
echo 'var_dump(array_flatten($array, 1));'."\n";
var_dump(array_flatten($array, 1));
echo 'var_dump(array_flatten($array, 2));'."\n";
var_dump(array_flatten($array, 2));
?>

Index_key is safely applicable only in cases when corresponding values of this index are unique through over the array. Otherwise only the latest element of the array with the same index_key value will be picked up.

________số 8_______

$first_names = array_column($records, 'first_name', 'company_id');
print_r($first_names);
?>

The above example will output:

Array
(
    [1] => Jane
    [2] => Peter
)
?>

To group values by the same `index_key` in arrays one can use simple replacement for the `array_column` like below example function:

function arrayed_column(array $array, int|string $column_key, int|string $index_key) {
        $output = [];
        foreach ($array as $item) {
            $output[$item['index_key']][] = $item['column_key'];
        }

        return $output;
}

$first_names = arrayed_column($records, 'first_name', 'company_id');
print_r($first_names);
?>

The output:

$records = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
        'company_id' => 1,
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
        'company_id' => 1,
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
        'company_id' => 1,
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
        'company_id' => 2,
    )
);
0

Mảng đa chiều PHP còn được gọi là mảng của mảng. Nó cho phép bạn lưu trữ dữ liệu dạng bảng trong một mảng. Mảng đa chiều PHP có thể được biểu diễn dưới dạng ma trận được biểu diễn bằng hàng * cột

Sự định nghĩa

Ví dụ mảng đa chiều PHP

Hãy xem một ví dụ đơn giản về mảng đa chiều PHP để hiển thị dữ liệu dạng bảng sau. Trong ví dụ này, chúng tôi đang hiển thị 3 hàng và 3 cột

PHP là một ngôn ngữ kịch bản thông dịch, mã nguồn mở, hướng đối tượng có thể chạy trên máy chủ. PHP là một ngôn ngữ phát triển web tuyệt vời. Kết quả là, nó được sử dụng để xây dựng các ứng dụng web

  • PHP là ngôn ngữ kịch bản phía máy chủ để tạo các ứng dụng web động sử dụng cơ sở dữ liệu MySQL
  • Nó quản lý nội dung động, cơ sở dữ liệu và giám sát phiên của trang web
  • PHP cho phép bạn xây dựng các phiên
  • Nó có quyền truy cập vào biến cookie cũng như khả năng đặt cookie
  • Nó hỗ trợ trong việc mã hóa và xác thực dữ liệu
  • HTTP, POP3, SNMP, LDAP, IMAP và một số giao thức khác được hỗ trợ bởi PHP

Chương trình sau đại học. Phát triển web đầy đủ ngăn xếp

hợp tác với Caltech CTME Đăng ký ngay

Cách lấy dữ liệu từ mảng nhiều chiều trong PHP

Mảng đa chiều trong PHP là gì

Mảng nhiều chiều trong PHP chứa một hoặc nhiều mảng được gọi là mảng nhiều chiều. Mảng đa chiều của hai, ba, bốn, năm hoặc nhiều cấp độ được hỗ trợ bởi PHP. Tuy nhiên, hầu hết mọi người đều cảm thấy khó khăn khi điều hướng các mảng dài hơn ba lớp. Số lượng chỉ số cần thiết để chọn một phần tử được biểu thị bằng thứ nguyên của mảng

Khi chúng ta thảo luận về việc lưu trữ các giá trị trong PHP, chúng ta sử dụng thuật ngữ danh sách. Có hai cách để hoàn thành công việc lưu trữ các giá trị khác nhau. Phương pháp đầu tiên là gán từng giá trị cho một biến duy nhất, trong khi phương pháp thứ hai là gán nhiều giá trị cho một biến, cách này hiệu quả hơn nhiều. Một mảng là những gì chúng ta gọi nó

Mảng đa chiều trong PHP là một cấu trúc dữ liệu cho phép bạn lưu trữ nhiều giá trị trong một biến duy nhất. Do đó, mảng là một thành phần không thể thiếu trong bộ công cụ của cộng đồng lập trình. Mảng có thể chứa cả giá trị số và chuỗi và chúng có thể đa chiều

Tuy nhiên, trong PHP, bạn sẽ cần hai chỉ số cho mảng hai chiều, ba chỉ số cho mảng ba chiều, v.v. để truy cập một phần tử trong mảng nhiều chiều. Do đó, một mảng nhiều chiều được gọi là tập hợp các mảng hoặc mảng con, tùy thuộc vào tình huống

Các thuộc tính của một mảng có thể được phân loại thành số hoặc kết hợp

  • Mảng số là mảng trong đó các phần tử chứa trong mảng được truy cập bằng các số
  • Các phần tử chứa trong một mảng kết hợp được truy cập bằng chuỗi hoặc tên. Chẳng hạn, tên của nhân viên có thể được sử dụng để truy cập thông tin từ sổ đăng ký hoặc máy chủ của công ty

cú pháp

mảng (

mảng (phần tử. ),

mảng (phần tử. ),

...

)

kích thước

Số lượng chỉ số cần thiết để chọn một phần tử được biểu thị bằng kích thước của mảng nhiều chiều. Để chọn một phần tử từ mảng hai chiều, hãy sử dụng hai chỉ số

mảng hai chiều

Kiểu đơn giản nhất của mảng nhiều chiều là mảng hai chiều. Nó có thể được thực hiện với sự trợ giúp của một mảng lồng nhau. Chỉ mục của các mảng này luôn là một số và chúng có thể lưu trữ bất kỳ loại phần tử nào. Chỉ mục bắt đầu bằng 0 theo mặc định

Thí dụ

// Chương trình PHP để tạo

// mảng nhiều chiều

// Tạo đa chiều

// mảng

$myarray = mảng(

// Khóa mặc định cho mỗi di chúc

// bắt đầu từ 0

mảng("Ank", "Ram", "Sham"),

mảng("Delhi", "Tripura", "Kanpur")

);

// Hiển thị thông tin mảng

print_r($myarray);

?>

đầu ra

Cách lấy dữ liệu từ mảng nhiều chiều trong PHP
 

Khóa học mới. Phát triển Full Stack cho người mới bắt đầu

Tìm hiểu Git Command, Angular, NodeJS, Maven và hơn thế nữa Đăng ký ngay

Cách lấy dữ liệu từ mảng nhiều chiều trong PHP

Mảng kết hợp hai chiều

Tất cả các mảng kết hợp đều tương tự như các mảng được lập chỉ mục, ngoại trừ việc thay vì lưu trữ tuyến tính (lưu trữ được lập chỉ mục), mỗi giá trị có thể được liên kết với một khóa chuỗi do người dùng xác định

Thí dụ

// Chương trình PHP để tạo hai

// mảng kết hợp chiều

$marks = mảng(

// Ankit sẽ đóng vai trò là khóa

"Ankit" => mảng (

// Chủ đề và điểm là

// cặp giá trị khóa

"C" => 101,

"DCO" => 65,

"FOL" => 74,

),

// Ram sẽ đóng vai trò là chìa khóa

"Ram" => mảng(

// Chủ đề và điểm là

// cặp giá trị khóa

"C" => 24,

"DCO" => 55,

"FOL" => 99,

),

// Anoop sẽ đóng vai trò là chìa khóa

"Anoop" => mảng (

// Chủ đề và điểm là

// cặp giá trị khóa

"C" => 88,

"DCO" => 46,

"FOL" => 99,

),

);

tiếng vang "Dấu hiệu hiển thị. \N";

print_r($marks);

?>

đầu ra

Cách lấy dữ liệu từ mảng nhiều chiều trong PHP

Mảng ba chiều

Nó là một mảng đa chiều trong PHP ở dạng cơ bản nhất. Mảng ba chiều có cách khởi tạo giống như mảng hai chiều. Sự khác biệt là khi số lượng kích thước tăng lên, thì số lượng dấu ngoặc lồng nhau cũng tăng theo.

Thí dụ

// Chương trình PHP để tạo ba

// mảng chiều

// Tạo 3 mảng lồng nhau

$myarray = mảng(

mảng(

mảng(1, 2),

mảng(3, 4),

),

mảng(

mảng(5, 6),

mảng(7, 8),

),

);

// Hiển thị thông tin mảng

print_r($myarray);

?>

đầu ra

Cách lấy dữ liệu từ mảng nhiều chiều trong PHP
  

Khóa học Full Stack Web Developer

Để trở thành chuyên gia về MEAN Stack Xem khóa học

Cách lấy dữ liệu từ mảng nhiều chiều trong PHP

Truy cập các phần tử mảng đa chiều

Trong PHP, chủ yếu có hai phương thức để truy cập các đối tượng mảng đa chiều

Các kích thước như tên mảng[‘thứ nguyên đầu tiên'][‘thứ nguyên thứ hai'] có thể được sử dụng để truy cập các phần tử

  • Vòng lặp for có thể được sử dụng để truy cập các phần tử
  • Vòng lặp for each có thể được sử dụng để truy cập các phần tử

Thí dụ

// Mã PHP để tạo

// mảng nhiều chiều

// Tạo đa chiều

// mảng kết hợp

$marks = mảng(

// Ankit sẽ đóng vai trò là khóa

"Ankit" => mảng (

// Chủ đề và điểm là

// cặp giá trị khóa

"C" => 95,

"DCO" => 85,

"FOL" => 74,

),

// Ram sẽ đóng vai trò là chìa khóa

"Ram" => mảng(

// Chủ đề và điểm là

// cặp giá trị khóa

"C" => 44,

"DCO" => 55,

"FOL" => 99,

),

// Anoop sẽ đóng vai trò là chìa khóa

"Anoop" => mảng (

// Chủ đề và điểm là

// cặp giá trị khóa

"C" => 77,

"DCO" => 88,

"FOL" => 77,

),

);

// Truy cập phần tử mảng

// sử dụng kích thước

// Nó sẽ hiển thị các dấu của

// Ankit trong môn C

tiếng vang $marks['Ankit']['C']. "\N";

// Truy cập các phần tử mảng sử dụng for mỗi vòng lặp

foreach($marks là $mark) {

tiếng vang $mark['C']. "". $mark['DCO']. "". $mark['FOL']. "\N";

}

?>

đầu ra

Cách lấy dữ liệu từ mảng nhiều chiều trong PHP
  

Nâng cao sự nghiệp của bạn với tư cách là nhà phát triển MEAN stack với Nhà phát triển Web Full Stack - Chương trình Thạc sĩ MEAN Stack. đăng ký ngay bây giờ

Phần kết luận

Mảng đa chiều trong PHP là các mảng thay vì lưu trữ một phần tử duy nhất, hãy lưu trữ một mảng khác tại mỗi chỉ mục. Nói cách khác, mảng nhiều chiều nên được mô tả như một mảng của các mảng. Mọi phần tử trong mảng này có thể là một mảng và chúng cũng có thể chứa các mảng con khác bên trong chúng, như tên của nó. Có thể sử dụng nhiều chiều để xem mảng hoặc mảng con của mảng nhiều chiều.  

Đối với bất kỳ chuyên gia nào, để có được một công việc xứng đáng trong một công ty có uy tín, người đó phải nắm bắt tốt về chủ đề này và làm quen với những phát triển và nâng cấp công nghệ mới nhất. Hãy đăng ký tham gia khóa học Phát triển Web Full Stack của Simplilearn để đảm bảo kiến ​​thức chuyên môn trong một số chủ đề liên quan như mảng đa chiều trong PHP và triển vọng việc làm tốt hơn. Bạn cũng có thể nâng cao kiến ​​thức của mình và tận dụng sáng kiến ​​Nâng cao kỹ năng của Simplilearn, một nền tảng nơi bạn sẽ tìm thấy các khóa học chuyên môn trực tuyến miễn phí

Tìm Chương trình sau đại học của chúng tôi trong Chương trình đào tạo trực tuyến về phát triển web Full Stack tại các thành phố hàng đầu

Chương trình Sau đại học NameDatePlace trong Nhóm phát triển Web Full Stack bắt đầu vào ngày 16 tháng 2 năm 2023,
Đợt cuối tuầnChi tiết CityView của bạnChương trình sau đại học về Phát triển Web Full Stack, SingaporeCohort bắt đầu vào ngày 1 tháng 3 năm 2023,
Đợt cuối tuầnSingaporeXem chi tiếtChương trình sau đại học về Phát triển web ngăn xếp đầy đủNhóm bắt đầu vào ngày 15 tháng 3 năm 2023,
Lô hàng cuối tuầnChi tiết CityView của bạn

Thông tin về các Tác giả

Cách lấy dữ liệu từ mảng nhiều chiều trong PHP
đơn giản

Simplilearn là một trong những nhà cung cấp dịch vụ đào tạo trực tuyến hàng đầu thế giới về Tiếp thị kỹ thuật số, Điện toán đám mây, Quản lý dự án, Khoa học dữ liệu, CNTT, Phát triển phần mềm và nhiều công nghệ mới nổi khác

Làm cách nào để lấy tất cả các giá trị từ mảng đa chiều trong PHP?

Truy xuất giá trị. Chúng ta có thể lấy giá trị của mảng nhiều chiều bằng phương pháp sau. .
Sử dụng phím. Chúng ta có thể sử dụng khóa của mảng kết hợp để lấy trực tiếp giá trị dữ liệu. .
Sử dụng vòng lặp foreach. Chúng ta có thể sử dụng vòng lặp foreach để truy xuất giá trị của từng khóa được liên kết bên trong mảng kết hợp đa chiều

Làm cách nào để lấy mảng từ mảng nhiều chiều trong PHP?

Trong PHP, chủ yếu có hai phương thức để truy cập các đối tượng mảng đa chiều. Các kích thước như tên mảng['thứ nguyên đầu tiên']['thứ nguyên thứ hai'] có thể được sử dụng để truy cập các phần tử . Vòng lặp for có thể được sử dụng để truy cập các phần tử. Vòng lặp for each có thể được sử dụng để truy cập các phần tử.

Làm cách nào để lấy một giá trị từ mảng đa chiều trong PHP?

Trả lời. Sử dụng Khóa mảng hoặc Chỉ mục .

Làm cách nào để lấy giá trị từ mảng đa chiều trong PHP mà không cần foreach?

Hoặc sử dụng array_column() cho PHP 5. 5. $foo = mảng(["type"=>"a"], ["type"=>"b"], ["type"=>"c"]); . $result = array_map(function($x) { return $x['type']; }, $foo);