Hãy nói rằng biến $_POST
của tôi trông giống như:
<?php
Array
(
[user_ID] => 65
[action] => editpost
[originalaction] => editpost
[post_author] => 154
[empl_bd_dd] => 6
[empl_bd_mm] => 5
[empl_bd_yy] => 1987
[empl_gen] => 1
[empl_height] => 155
[empl_weight] => 61
[empl_arra] => 2
[save] => Update
[post_it] => 2
[empl_pay] => J77
[empl_cust] => Married
[empl_lang] => Array
(
[0] => EN
[1] => FR
)
[empl_rent] => 1
[name] => Jimmy Nathan
[empl_text] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sed interdum leo. Sed et elit quam, tempor placerat neque. Nullam sapien odio, egestas iaculis dictum ut, congue ullamcorper tellus.
[empl_sk_0] => 6
[empl_sk_1] => 7
[empl_sk_2] => 5
)
?>
Như bạn có thể thấy tôi tiền tố tất cả các biến hình thức của tôi với empl_
. Ngắn của việc phải xác định tất cả chúng từng cái một, làm thế nào để tôi có được tất cả các biến dạng của tôi từ $_POST
thành một mảng theo cách thanh lịch với chi phí thấp nhất? Có một chức năng mảng PHP hoặc một sự kết hợp của chúng mà tôi có thể sử dụng cho điều này?
Giống như trong CSS
nơi bạn có thể chọn tất cả các phần tử có lớp bắt đầu bằng empl
sử dụng [class*="empl_"]
, có cách nào tôi có thể thực hiện điều này bằng các phím mảng trong PHP, ví dụ:
$empl_post = $_POST['empl_*']
edited trả lời - chỉnh impt để trả lời @ Chris 's: $_POST
phải là đối số đầu tiên để array_intersect_key
, ví dụ:
$empl_POST = array_intersect_key($_POST, array_flip(preg_grep('/^empl_/', array_keys($_POST))));
cảm ơn tất cả các câu trả lời. đã chọn câu trả lời của @chris dưới đây. chính xác những gì tôi đã tìm kiếm. cảm ơn một lần nữa, tất cả mọi người, y'all rock. –