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

Để xóa một khóa và giá trị tương ứng của nó khỏi một mảng kết hợp trong PHP, bạn có thể sử dụng hàm unset()


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
//     [Geeko] => openSUSE
// )

Như tên của hàm gợi ý, bạn sử dụng hàm unset() để bỏ đặt một biến đã cho hoặc trong trường hợp này là một khóa mảng với giá trị của nó

Xóa nhiều khóa khỏi mảng kết hợp

Việc xóa nhiều khóa khỏi mảng kết hợp cũng có thể được thực hiện bằng cách sử dụng unset(). Bạn có thể chuyển bao nhiêu khóa để bỏ đặt làm đối số cho hàm unset(). Xem ví dụ bên dưới nơi hai khóa bị loại bỏ khỏi mảng kết hợp


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher'], $mascots['Geeko']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
// )

Tuy nhiên, hữu ích, cách tiếp cận trên có thể hơi tẻ nhạt khi bạn cần xóa nhiều khóa khỏi mảng kết hợp. Trong trường hợp đó, có một tùy chọn khác, hàm


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher'], $mascots['Geeko']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
// )
2. Hàm

$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher'], $mascots['Geeko']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
// )
2 so sánh mảng mà bạn chuyển nó làm đối số đầu tiên của nó và trả về một mảng có các giá trị không có trong mảng mà bạn chuyển nó vào mảng thứ hai

Trái ngược với các tùy chọn khác mà tôi trình bày ở đây, phương pháp này yêu cầu bạn chỉ định các giá trị mà bạn xóa khóa (và giá trị). Thay vì các khóa mà bạn muốn xóa các giá trị (và khóa)


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

$values = array_diff($mascots, ['openSUSE', 'Go']);

print_r($values);
// Array
// (
//     [ElePHPant] => php
// )

Cách tiếp cận cuối cùng này có vẻ đặc biệt thuận tiện nếu bạn cần tự động xóa các khóa (và giá trị) trong mã của mình

Xóa tất cả các khóa khỏi mảng kết hợp

Để xóa tất cả các khóa khỏi một mảng PHP kết hợp về cơ bản là biến mảng đó thành một mảng được lập chỉ mục bằng số thông thường. Điều này có thể đạt được bằng cách chỉ lấy các giá trị từ mảng PHP kết hợp

Vì các mảng kết hợp trong PHP được sắp xếp theo thứ tự, giống như các mảng được lập chỉ mục bằng số, nên chúng ta chỉ có thể lấy các giá trị và duy trì thứ tự ban đầu của mảng


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

$values = array_values($mascots);

print_r($values);
// Array
// (
//     [0] => php
//     [1] => openSUSE
//     [2] => Go
// )

Mẫu mã trên tạo một mảng mới từ các giá trị của


$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher'], $mascots['Geeko']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
// )
0 và lưu kết quả vào biến

$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher'], $mascots['Geeko']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
// )
1. Mảng

$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher'], $mascots['Geeko']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
// )
1 là một mảng được lập chỉ mục số thông thường, do đó tất cả các khóa từ mảng kết hợp

$mascots = [
  'ElePHPant' => 'php',
  'Geeko' => 'openSUSE',
  'Gopher' => 'Go'
];

unset($mascots['Gopher'], $mascots['Geeko']);

print_r($mascots);
// Array
// (
//     [ElePHPant] => php
// )
0 không còn xuất hiện nữa

Làm cách nào để chỉ nhận giá trị từ mảng kết hợp trong PHP?

Để trích xuất các giá trị duy nhất từ ​​một mảng kết hợp, chúng ta sử dụng hàm array_values() , hàm này trả về một mảng mới với các chỉ mục số (bắt đầu . cú pháp. mảng_giá_trị(mảng); .

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

Hàm array_search() trong PHP . Array_search() trong PHP là một hàm sẵn có được sử dụng rộng rãi để tìm kiếm và định vị một giá trị cụ thể trong mảng đã cho. Nếu tìm thấy thành công giá trị cụ thể, nó sẽ trả về giá trị khóa tương ứng.

Cách lấy giá trị cụ thể từ mảng trong PHP?

The array_search() là một hàm có sẵn trong PHP được sử dụng để tìm kiếm một giá trị cụ thể trong một mảng và nếu giá trị đó . Nếu có nhiều hơn một giá trị thì khóa của giá trị khớp đầu tiên sẽ được trả về.

Làm cách nào để chỉ lấy các khóa từ mảng trong PHP?

Hàm array_keys() trả về một mảng chứa các khóa.