Làm cách nào để lấy giá trị khóa cụ thể từ mảng trong PHP?

Trong bài viết này, hãy cho chúng tôi hiểu “khóa” và “giá trị” trong một mảng là gì & cũng xem xét các phương pháp khác nhau mà chúng tôi có thể lấy các cặp khóa-giá trị này

Mục lục

  • Khóa và giá trị trong một mảng là gì?
  • Các phương pháp khác nhau để có được các cặp khóa-giá trị
  • Hỗ trợ trình duyệt

Khóa và giá trị trong một mảng là gì?

Các khóa là các chỉ mục và các giá trị là các phần tử của một mảng kết hợp. Các mảng kết hợp về cơ bản là các đối tượng trong JavaScript nơi các chỉ mục được thay thế bằng các khóa do người dùng xác định. Chúng không có thuộc tính độ dài như một mảng bình thường và không thể duyệt qua bằng cách sử dụng vòng lặp for thông thường

Đây là một ví dụ về một mảng kết hợp

var arr = { "one": 1, "two": 2, "three": 3 }; 

Không giống như các mảng đơn giản, chúng tôi sử dụng dấu ngoặc nhọn thay vì dấu ngoặc vuông. Nội dung hoặc giá trị của mảng kết hợp được truy cập bằng các phím

Trong mảng trên, một, hai & ba là khóa và 1, 2 & 3 là giá trị. Chúng có thể được lấy riêng lẻ bằng cách sử dụng các phương thức keys[] & values[] như hình bên dưới

//to get values
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: 1, 2, 3

//to get keys
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: one, two, three

Các phương pháp khác nhau để có được các cặp khóa-giá trị

Bây giờ chúng ta đã biết cách lấy các khóa và giá trị trong một mảng, chúng ta hãy xem xét các phương thức khác nhau để lấy các cặp khóa-giá trị

Trước tiên chúng ta hãy lưu trữ các khóa và giá trị được trích xuất trước đó trong các mảng riêng biệt

var keys = ["one", "two", "three"];
var values = [1, 2, 3];

Phương pháp 1. Sử dụng một đối tượng để lưu trữ các cặp khóa => giá trị

Trong phương thức này, chúng tôi lưu trữ các phần tử từ mảng “key” & các giá trị tương ứng từ mảng “value” bằng cách sử dụng mảng kết hợp "obj"

// create object
var obj = {};

// Loop to insert key & value in this object one by one
for [var i = 0; i < keys.length; i++] {
    obj[keys[i]] = values[i];

} 

// output can be displayed as : one => 1  two => 2 three => 3

Phương pháp 2. Sử dụng phương thức map[]

Bản đồ là một tập hợp các phần tử trong đó mỗi phần tử được lưu trữ dưới dạng một cặp khóa, giá trị. Các đối tượng của loại bản đồ có thể chứa cả đối tượng và giá trị nguyên thủy dưới dạng khóa hoặc giá trị. Khi duyệt qua đối tượng bản đồ, nó trả về cặp khóa, giá trị theo thứ tự như đã chèn

Trong bài đăng này, tôi sẽ tìm hiểu bạn cách lấy mảng giá trị khóa cụ thể từ mảng đa chiều trong php. chúng ta sẽ nhận được mảng giá trị khóa cụ thể bằng cách sử dụng array_column[] và array_map[]

chúng tôi gần như yêu cầu lấy khóa và giá trị cụ thể trong mảng khi làm việc với mảng đa chiều php. giống như nếu bạn có một mảng đa chiều với mỗi mảng có khóa id, tên, email, v.v. Bạn chỉ cần lấy tất cả tên từ mảng thì làm thế nào bạn có thể lấy nó?, tôi sẽ chỉ cho bạn cách chúng tôi có thể làm điều đó. tôi sẽ cho bạn ví dụ đầy đủ

$names = array_column[$myArray, 'name'];

$emails = array_map[function [$ar] {return $ar['email'];}, $myArray];

Ví dụ

$myArray = [

[

'name' => 'Paresh',

'email' => 'paresh@gmail.com'

],

[

'name' => 'Rakesh',

'email' => 'rakesh@gmail.com'

],

[

'name' => 'Naresh',

'email' => 'naresh@gmail.com'

],

];

$names = array_column[$myArray, 'name'];

$emails = array_map[function [$ar] {return $ar['email'];}, $myArray];

print_r[$names];

print_r[$emails];

?>

đầu ra

Array

[

[0] => Paresh

[1] => Rakesh

[2] => Naresh

]

Array

[

[0] => paresh@gmail.com

[1] => rakesh@gmail.com

[2] => naresh@gmail.com

]

Tôi hy vọng nó có thể giúp bạn

In addition to FatBat's response, if you'd like to find out the highest key in an array [assoc or not] but don't want to arsort[] it, take a look at this:

________số 8

$key_of_max = array_search[ max[$arr] , $arr];

//to get values
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: 1, 2, 3

//to get keys
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: one, two, three
0

//to get values
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: 1, 2, 3

//to get keys
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: one, two, three
1

//to get values
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: 1, 2, 3

//to get keys
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: one, two, three
2

//to get values
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: 1, 2, 3

//to get keys
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: one, two, three
3

//to get values
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: 1, 2, 3

//to get keys
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: one, two, three
4

//to get values
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: 1, 2, 3

//to get keys
for [let value of Object.values[arr]] {
    alert[value];
}
//Output: one, two, three
5

Làm cách nào để tìm kiếm một khóa trong một mảng trong PHP?

Hàm PHP array_key_exists[] .

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

chúng ta sẽ nhận được mảng giá trị khóa cụ thể sử dụng array_column[] và array_map[] .

Chủ Đề