Xóa giá trị khóa đầu tiên khỏi mảng 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 array_diff(). Hàm array_diff() 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 bằng 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 để xóa khóa đầu tiên khỏi mảng trong PHP?

Hàm array_shift() xóa phần tử đầu tiên khỏi một mảng và trả về giá trị của phần tử đã xóa. Ghi chú. Nếu các khóa là số, tất cả các phần tử sẽ nhận được các khóa mới, bắt đầu từ 0 và tăng thêm 1 (Xem ví dụ bên dưới).

Làm cách nào để xóa giá trị khóa trong mảng PHP?

Sử dụng hàm unset() . Hàm unset() dùng để xóa phần tử khỏi mảng. Hàm unset được sử dụng để hủy bất kỳ biến nào khác và sử dụng tương tự để xóa bất kỳ phần tử nào của một mảng. Lệnh bỏ đặt này lấy khóa mảng làm đầu vào và xóa phần tử đó khỏi mảng.

Làm cách nào để xóa khóa đầu tiên trong PHP?

Trả lời. Sử dụng hàm array_shift() của PHP . Hàm array_shift() cũng trả về giá trị đã loại bỏ của mảng. Tuy nhiên, nếu mảng rỗng (hoặc biến không phải là mảng) thì giá trị trả về sẽ là NULL.

Làm cách nào để xóa khóa cuối cùng khỏi mảng trong PHP?

Hàm array_pop() xóa phần tử cuối cùng của một mảng.