আন্ডারস্কোর যুক্তিযুক্ত ধার নিয়েছে। জেএস _.আরেক্ট করুন এবং দুটি ফাংশন তৈরি করেছেন (লোকেরা ফাংশন পছন্দ করে !!)
অ্যারে_রেজেক্ট_ভ্যালু: এই ফাংশনটি নির্দিষ্ট করে দেওয়া মানটিকে কেবল প্রত্যাখ্যান করছে (পিএইচপি 4,5,7 এর জন্যও কাজ করে)
function array_reject_value(array &$arrayToFilter, $deleteValue) {
$filteredArray = array();
foreach ($arrayToFilter as $key => $value) {
if ($value !== $deleteValue) {
$filteredArray[] = $value;
}
}
return $filteredArray;
}
অ্যারে_রেজেক্ট: এই ফাংশনটি কেবল কলযোগ্য পদ্ধতিটিকে প্রত্যাখ্যান করছে (পিএইচপি> = 5.3 এর জন্য কাজ করে)
function array_reject(array &$arrayToFilter, callable $rejectCallback) {
$filteredArray = array();
foreach ($arrayToFilter as $key => $value) {
if (!$rejectCallback($value, $key)) {
$filteredArray[] = $value;
}
}
return $filteredArray;
}
সুতরাং আমাদের বর্তমান উদাহরণে আমরা উপরের ফাংশনগুলি নিম্নরূপ ব্যবহার করতে পারি:
$messages = [312, 401, 1599, 3, 6];
$messages = array_reject_value($messages, 401);
বা আরও ভাল: (এটি আমাদের অ্যারে_ ফিল্টারটির মতো ব্যবহারের জন্য আরও ভাল সিনট্যাক্স দেয় )
$messages = [312, 401, 1599, 3, 6];
$messages = array_reject($messages, function ($value) {
return $value === 401;
});
উপরেরগুলি আরও জটিল স্টাফগুলির জন্য ব্যবহার করা যেতে পারে যেমন ধরা যাক যে আমরা 401 এর চেয়ে বেশি বা সমান সমস্ত মান সরিয়ে দিতে চাই আমরা কেবল এটি করতে পারি:
$messages = [312, 401, 1599, 3, 6];
$greaterOrEqualThan = 401;
$messages = array_reject($messages, function ($value) use $greaterOrEqualThan {
return $value >= $greaterOrEqualThan;
});