Hướng dẫn unset multiple values in array php - bỏ đặt nhiều giá trị trong mảng php

Thỏa thuận ở đây là tôi có một mảng với 17 yếu tố. Tôi muốn có được các yếu tố tôi cần trong một thời gian nhất định và loại bỏ chúng vĩnh viễn khỏi mảng.

Đây là mã:

$name = $post['name'];
$email = $post['email'];
$address = $post['address'];
$telephone = $post['telephone'];
$country = $post['country'];

unset[$post['name']];
unset[$post['email']];
unset[$post['address']];
unset[$post['telephone']];
unset[$post['country']];

Có mã là xấu xí, không cần bash. Làm thế nào để tôi làm cho điều này trông đẹp hơn?

Alex

467K197 Huy hiệu vàng865 Huy hiệu bạc975 Huy hiệu Đồng197 gold badges865 silver badges975 bronze badges

Hỏi ngày 25 tháng 10 năm 2011 lúc 5:19Oct 25, 2011 at 5:19

1

Sử dụng

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
3 để xóa

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];

Bạn có thể sử dụng

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
4 nếu bạn muốn cung cấp một loạt các phím để giữ.

Đã trả lời ngày 19 tháng 11 năm 2015 lúc 10:13Nov 19, 2015 at 10:13

Tim timTim

4.1914 Huy hiệu vàng33 Huy hiệu bạc39 Huy hiệu Đồng4 gold badges33 silver badges39 bronze badges

3

Có vẻ như hàm

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
5 sẽ là một công cụ tốt hơn cho những gì bạn đang cố gắng thực hiện [giả sử nó trích xuất tất cả các khóa/giá trị từ một mảng và gán chúng cho các biến có cùng tên với các khóa trong phạm vi cục bộ]. Sau khi bạn trích xuất nội dung, sau đó bạn có thể tháo toàn bộ
$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
6, giả sử nó không chứa bất cứ thứ gì bạn muốn.

Tuy nhiên, để thực sự trả lời câu hỏi của bạn, bạn có thể tạo một mảng các phím bạn muốn xóa và lặp qua, rõ ràng không giải quyết chúng ...

$removeKeys = array['name', 'email'];

foreach[$removeKeys as $key] {
   unset[$arr[$key]];
}

... Hoặc bạn có thể trỏ biến vào một mảng mới đã loại bỏ các phím ...

$arr = array_diff_key[$arr, array_flip[$removeKeys]];

... hoặc chuyển tất cả các thành viên mảng cho ________ 17 ...

unset[$arr['name'],  $arr['email']];

Đã trả lời ngày 25 tháng 10 năm 2011 lúc 5:20Oct 25, 2011 at 5:20

Alexalexalex

467K197 Huy hiệu vàng865 Huy hiệu bạc975 Huy hiệu Đồng197 gold badges865 silver badges975 bronze badges

3

Hỏi ngày 25 tháng 10 năm 2011 lúc 5:19

Sử dụng

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
3 để xóa

Bạn có thể sử dụng

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
4 nếu bạn muốn cung cấp một loạt các phím để giữ.

$array = array["key1", "key2", "key3"];

Đã trả lời ngày 19 tháng 11 năm 2015 lúc 10:13

unset[$array];

Tim tim

unset[$array["key1"]];

4.1914 Huy hiệu vàng33 Huy hiệu bạc39 Huy hiệu Đồng

unset[$array["key1"], $array["key2"], $array["key3"] ....] and so on.

Có vẻ như hàm

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
5 sẽ là một công cụ tốt hơn cho những gì bạn đang cố gắng thực hiện [giả sử nó trích xuất tất cả các khóa/giá trị từ một mảng và gán chúng cho các biến có cùng tên với các khóa trong phạm vi cục bộ]. Sau khi bạn trích xuất nội dung, sau đó bạn có thể tháo toàn bộ
$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
6, giả sử nó không chứa bất cứ thứ gì bạn muốn.

Tuy nhiên, để thực sự trả lời câu hỏi của bạn, bạn có thể tạo một mảng các phím bạn muốn xóa và lặp qua, rõ ràng không giải quyết chúng ...

... Hoặc bạn có thể trỏ biến vào một mảng mới đã loại bỏ các phím ...12 gold badges50 silver badges51 bronze badges

... hoặc chuyển tất cả các thành viên mảng cho ________ 17 ...Aug 1, 2014 at 8:25

Đã trả lời ngày 25 tháng 10 năm 2011 lúc 5:20CodingDaily

Alexalex4 silver badges2 bronze badges

Có một cách khác tốt hơn là các ví dụ trên. Nguồn: //php.net/manual/en/function.unset.php

$vars = array['name', 'email', 'address', 'phone']; /* needed variables */
foreach [$vars as $var] {
    ${$var} = $_POST[$var]; /* create variable on-the-fly */
    unset[$_POST[$var]]; /* unset variable after use */
}

Thay vì lặp lại toàn bộ mảng và giải quyết tất cả các phím của nó, bạn có thể giải nén nó một lần như vậy:

Mảng ví dụ:

Đối với toàn bộ mảng:Dec 2, 2013 at 11:17

2

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
0

Cho các phím độc đáo:Jan 12, 2021 at 20:09

Đối với nhiều khóa trong một mảng:ahmedkandil

Tôi hy vọng điều này sẽ giúp bạn trong sự phát triển của bạn.3 silver badges6 bronze badges

1

Cướp

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
1

4.88912 Huy hiệu vàng 50 Huy hiệu bạc51 Huy hiệu Đồng

$remove = ['telephone', 'country'];

$removed = array_diff_key[$post, array_flip[$remove]];
2

Đã trả lời ngày 1 tháng 8 năm 2014 lúc 8:25May 29 at 14:20

Làm thế nào để bạn hủy bỏ nhiều giá trị trong PHP?

Bạn phải sử dụng cho vòng lặp cho việc này.Bạn có thể sử dụng Foreach Loop nhưng nó sẽ không được đặt tất cả các biến vẫn còn một biến vẫn còn.use for loop for this. you can use foreach loop but it will not unset all variable one variable still remains.

Làm thế nào để giải phóng mảng trong PHP?

Sử dụng hàm unSet []: hàm unset [] được sử dụng để loại bỏ phần tử khỏi mảng.Hàm Untet được sử dụng để phá hủy bất kỳ biến nào khác và cùng cách sử dụng để xóa bất kỳ yếu tố nào của mảng.: The unset[] function is used to remove element from the array. The unset function is used to destroy any other variable and same way use to delete any element of an array.

Làm thế nào để bạn mở một biến trong PHP?

PHP |Hàm unset [] Nó có nghĩa là chức năng này chỉ giải quyết biến cục bộ.Nếu chúng ta muốn giải nén biến toàn cầu bên trong chức năng thì chúng ta phải sử dụng mảng $ globals để làm như vậy.Giá trị trả về: Hàm này không trả về bất kỳ giá trị nào.use $GLOBALS array to do so. Return Value: This function does not returns any value.

Bài Viết Liên Quan

Chủ Đề