# Description
# Parameters
Cú pháp: array array_diff_uassoc ( array $array1 , array $array2 [, array $… ], callable $key_compare_func )
Trong đó:
- $array1 là mảng thứ nhất, kết quả trả về sẽ nằm trong mảng này
- $array2 là mảng thứ hai
- …
- $key_compare_func là hàm do người dùng định nghĩa, nếu kết quả nó trả về true thì phần tử lượt check đó được chọn, ngược lại sẽ không được chọn và hàm này so sánh các
$key
thay vìvalue
:- Hàm này phải trả về 0 nếu
$key1 = $key2
, lớn hơn 0 nếu$key1 > $key2
và bé hơn 0 nếu$key1 < $key2
- Sự so sánh dựa vào thứ tự trong mã ASCII
- Hàm này phải trả về 0 nếu
Để rõ hơn thì bạn nên xem qua hàm array_diff_assoc() và sau đó xem các ví dụ dưới đây.
Bài viết này được đăng tại [kiso.vn]
# Return values
Hàm sẽ trả về một mảng (mảng con của $array1) gồm các phần tử được quyết định bởi $key_compare_func.
# Examples
Trong ví dụ này hàm key_compare_func
sẽ có hai tham số truyền vào là $a
và $b
chính là các key lần lượt là key của mảng thứ nhất trong danh sách tham số truyền vào và các key của mảng còn lại. Nếu hàm trả về khác 0 (lớn hơn 0 hoặc bé hơn 0) thì phần tử của lượt đó được chọn.
Code:
function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1:-1; } $array1 = array( "a" => "kiso", "b" => "www", "c" => "https://kiso.vn" ); $array2 = array( "a" => "kiso", "b" => "www", "c" => "http://kiso" ); $result = array_diff_uassoc($array1, $array2, "key_compare_func"); echo '<pre>'; print_r($result);
Result:
Array ( [c] => https://kiso.vn )
Như vậy chỉ có key c
là được chọn lý do là nó không tồn tại bên $array2
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính# Description# Parameters# Return values# Examples1. Bảo vệ khỏi...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính# Description# Parameters# Return values# Examples1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát hành miễn phí để tăng tính...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính# Description# Parameters# Return values# ExamplesV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường dẫn đầy đủ Xét đoạn code...
Directory traversal vulnerabilities (phần 3)
Nội dung chính# Description# Parameters# Return values# ExamplesV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc file và tin tưởng đầu vào...
Directory traversal vulnerabilities (phần 2)
Nội dung chính# Description# Parameters# Return values# ExamplesIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ hổng Directory traversal cũng khác nhau....