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

Đôi khi trong quá trình làm việc với PHP, cần xóa và lập chỉ mục lại một phần tử mảng. Ở đây, chúng tôi đã tập hợp các phương pháp hữu ích sẽ giúp đạt được điều đó

Kiến thức về CSS

Trong phần này, chúng ta sẽ tiến hành loại bỏ một phần tử mảng bằng hàm unset() và sau đó lập chỉ mục lại nó bằng array_values()

Hàm unset() được sử dụng để hủy đặt một biến đã cho

Cú pháp như sau

unset(mixed $var, mixed ...$vars): void

Hàm array_values() nhằm mục đích trả về tất cả các giá trị từ mảng và lập chỉ mục bằng số cho mảng

Cú pháp như sau

array array_values ( array $array )

Bây giờ, hãy xem hai hàm này hoạt động như thế nào

Đầu ra sẽ hiển thị như sau

array(2) {
  [0]=>
  string(5) "w3docs"
  [2]=>
  string(5) "w3docs"
}
array(2) {
  [0]=>
  string(5) "w3docs"
  [1]=>
  string(5) "w3docs"
}

Có một giải pháp thay thế, quá. Nó đang sử dụng hàm array_splice(), được sử dụng để loại bỏ một phần của mảng và thay thế nó bằng bất kỳ thứ gì khác

Cú pháp của hàm này như sau

array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed $replacement = array() ]] ) : array

Để hiểu rõ hơn về cách chức năng này hoạt động, hãy xem ví dụ bên dưới

Đầu ra sẽ như sau

array(2) {
  [0]=>
  string(5) "w3docs"
  [1]=>
  string(5) "w3docs"
}

Mảng là một biến chứa tập hợp các giá trị khác, có sẵn trên các chỉ số cụ thể. Để truy cập giá trị của một mảng, chúng ta cần chỉ định tên của mảng và chỉ số của dữ liệu

array array_values ( array $array )
5

array array_values ( array $array )
6

array array_values ( array $array )
7

array array_values ( array $array )
8

array array_values ( array $array )
9

Trong bài đăng nhỏ này, tôi muốn chỉ cho bạn cách xóa khóa và giữ giá trị trong mảng php về cơ bản cách lập chỉ mục lại mảng bắt đầu từ chỉ mục 0 trong php. chúng ta có thể thực hiện bằng cách sử dụng hàm array_values ​​của mảng php

array_values() sẽ tạo lại mảng với các khóa mới nên về cơ bản, hàm array_values ​​sẽ tạo mảng mới với khóa mới như mặc định 0 1 2, v.v. nếu bạn muốn xóa các khóa và giữ các giá trị bằng mảng mới thì trong php

Xem ví dụ đơn giản dưới đây với đầu ra như vậy, nó sẽ giúp bạn làm tốt hơn

Ví dụ

$myArray = [

'paresh' => 'Paresh',

'hardik' => 'Hardik',

'vimal' => 'Vimal',

'harshad' => 'Harshad'

];

$reCreateArray = array_values($myArray);

print_r($reCreateArray);

đầu ra

Array

(

[0] => Paresh

[1] => Hardik

[2] => Vimal

[3] => Harshad

)

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

Để 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

array(2) {
  [0]=>
  string(5) "w3docs"
  [2]=>
  string(5) "w3docs"
}
array(2) {
  [0]=>
  string(5) "w3docs"
  [1]=>
  string(5) "w3docs"
}
0


$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

array(2) {
  [0]=>
  string(5) "w3docs"
  [2]=>
  string(5) "w3docs"
}
array(2) {
  [0]=>
  string(5) "w3docs"
  [1]=>
  string(5) "w3docs"
}
0 để 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

array(2) {
  [0]=>
  string(5) "w3docs"
  [2]=>
  string(5) "w3docs"
}
array(2) {
  [0]=>
  string(5) "w3docs"
  [1]=>
  string(5) "w3docs"
}
0. Bạn có thể chuyển bao nhiêu khóa cần bỏ đặt làm đối số cho hàm
array(2) {
  [0]=>
  string(5) "w3docs"
  [2]=>
  string(5) "w3docs"
}
array(2) {
  [0]=>
  string(5) "w3docs"
  [1]=>
  string(5) "w3docs"
}
0. Xem ví dụ bên dưới nơi hai khóa bị loại bỏ khỏi mảng kết hợp

________số 8

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(2) {
  [0]=>
  string(5) "w3docs"
  [2]=>
  string(5) "w3docs"
}
array(2) {
  [0]=>
  string(5) "w3docs"
  [1]=>
  string(5) "w3docs"
}
4. Hàm
array(2) {
  [0]=>
  string(5) "w3docs"
  [2]=>
  string(5) "w3docs"
}
array(2) {
  [0]=>
  string(5) "w3docs"
  [1]=>
  string(5) "w3docs"
}
4 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

array array_values ( array $array )
0

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 để xóa một phần tử khỏi mảng trong PHP?

Hàm array_splice() xóa các phần tử đã chọn khỏi một mảng và thay thế nó bằng các phần tử mới. Hàm cũng trả về một mảng với các phần tử đã bị xóa.

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

Nó có thể hiển thị cảnh báo khóa mảng không xác định đối với một số. Điều đó có nghĩa giống như việc bạn đang cố truy cập vào một khóa mảng không xác định. Nó có thể được giải quyết tương tự như hai trường hợp trước bằng cách sử dụng hàm isset(), arrayexists() hoặc empty() .

Làm cách nào để xóa chỉ mục mảng trong PHP?

Xóa một phần tử mảng . Nếu bạn biết giá trị và không biết khóa để xóa phần tử, bạn có thể sử dụng \array_search() để lấy khóa. use unset() or alternatively \array_splice() . If you know the value and don't know the key to delete the element you can use \array_search() to get the key.

Làm cách nào để xóa nhiều khóa khỏi mảng trong PHP?

Nếu bạn thấy trong tài liệu PHP không có sẵn, hãy trực tiếp xóa nhiều khóa khỏi mảng PHP. Nhưng chúng ta sẽ tạo hàm tùy chỉnh PHP của riêng mình và xóa tất cả các khóa theo giá trị mảng đã cho . Trong ví dụ này, tôi đã tạo hàm tùy chỉnh là array_except().