PHP Arrays
PHP Arrays পর্ব-৬: PHP Array Intersection Functions

দুই বা ততোধিক array এর মধ্যে common value গুলো বের করার জন্য PHP তে ৮ টি function রয়েছে যেগুলোকে বলা হয় PHP Array Intersection Functions আজকের পর্বে আমরা PHP array Intersection function গুলো নিয়ে আলোচনা করব। চলুন দেখা যাক :
array_intersect() Function
PHP তে দুই বা ততোধিক array এর মধ্যে শুধু common value গুলো বের করার জন্য array_intersect() function টি ব্যবহৃত হয়। অর্থাৎ, প্রথম array এর যেইসব value গুলো অন্য array গুলোর সবগুলোর মধ্যে পাওয়া যাবে , শুধু সেইসব value গুলো বের করবে। চলুন একটা উদাহরণ দেখা যাক :
<?php $array1 = array("a" => "green", "red", "blue"); $array2 = array("b" => "green", "yellow", "red"); $result = array_intersect($array1, $array2); echo "<pre>"; print_r($result); echo "</pre>"; ?>
Output:
Array ( [a] => green [0] => red )
array_uintersect() Function
PHP তে array_uintersect() function টি array_intersect() function এর মতোই অর্থাৎ, দুই বা ততোধিক array এর মধ্যে শুধু value এর উপর ভিত্তি করে Intersection বা common value গুলো বের করার জন্য ব্যবহৃত হয় । তবে array_uintersect() function কাজটি নিজে করবেনা, বরং user এর supply করা callback function দিয়ে করবে । চলুন একটা উদাহরণ দেখা যাক :
<?php $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red"); print_r(array_uintersect($array1, $array2, "strcasecmp")); ?>
Output:
Array ( [a] => green [b] => brown [0] => red )
array_intersect_assoc() Function
PHP তে array_intersect_assoc() function এর কাজ হচ্ছে দুই বা ততোধিক array এর মধ্যে শুধু value এর উপর ভিত্তি করে Intersection বা Common value গুলো বের করবেনা , একই সাথে key এর intersection অর্থাৎ common key ও দেখবে। অর্থাৎ, প্রথম array এর যেইসব value গুলো অন্য array গুলোর যেকোনোটির মধ্যে পাওয়া যায় , আর key গুলো একই (same) হয় শুধু সেইসব value গুলো বের করার জন্য PHP তে array_intersect_assoc() function টি ব্যবহৃত হয়।। চলুন একটা উদাহরণ দেখা যাক :
<?php $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "green", "b" => "yellow", "blue", "red"); $result_array = array_intersect_assoc($array1, $array2); print_r($result_array); ?>
Output:
Array ( [a] => green )
array_intersect_uassoc() Function
PHP তে array_intersect_uassoc() function টি array_intersect_assoc() ফাঙ্কশনের মতোই। অর্থাৎ, key এবং value দুইটাই মিল আছে কিনা তা দেখে। তবে array এর key গুলোকে চেক করার জন্য array_intersect_uassoc() function নিজে করবেনা, বরং user এর supply করা callback function দিয়ে করবে । চলুন একটা উদাহরণ দেখা যাক :
<?php $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red"); print_r(array_intersect_uassoc($array1, $array2, "strcasecmp")); ?>
Output:
Array ( [b] => brown )
array_uintersect_assoc() Function
PHP তে array_uintersect_assoc() function টি array_intersect_assoc() ফাঙ্কশনের মতোই। অর্থাৎ, key এবং value দুইটাই মিল আছে কিনা তা দেখে। তবে array এর মধ্যে key গুলোকে array_uintersect_assoc() ফাঙ্কশন (Built-in) নিজে check করবে। আর value গুলোকে user এর supply করা callback function দিয়ে Intersection বা সমতা চেক করবে। চলুন একটা উদাহরণ দেখা যাক :
<?php $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red"); print_r(array_uintersect_assoc($array1, $array2, "strcasecmp")); ?>
Output:
Array ( [a] => green )
array_uintersect_uassoc() Function
PHP তে array_uintersect_uassoc() function টি array_uintersect_assoc() ফাঙ্কশনের মতোই। অর্থাৎ, key এবং value দুইটারই ভিত্তিতেই Intersection বের করা যায়। তবে array এর মধ্যে key এবং value উভয়কেই আলাদা আলাদা user এর supply করা callback function দিয়ে Intersection বের করবে। চলুন একটা উদাহরণ দেখা যাক :
<?php function myfunction_key($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } function myfunction_value($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","c"=>"green"); $result=array_uintersect_uassoc($a1,$a2,"myfunction_key","myfunction_value"); print_r($result); ?>
Output
Array ( [a] => red [b] => green )
array_intersect_key() function
দুই বা ততোধিক array এর মধ্যে শুধু key এর উপর ভিত্তি করে Intersection করবে অর্থাৎ, প্রথম array এর যেইসব key গুলো অন্য array গুলোর যেকোনোটির মধ্যে পাওয়া যাবে শুধু সেইসব key এর value গুলো আলাদা ভাবে বের করার জন্য PHP তে array_intersect_key() function টি ব্যবহৃত হয়। চলুন একটা উদাহরণ দেখা যাক :
<?php $array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); $array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); echo "<pre>"; print_r(array_intersect_key($array1, $array2)); echo "</pre>"; ?>
Output:
Array ( [blue] => 1 [green] => 3 )
array_intersect_ukey() function
array_intersect_ukey() function টি array_intersect_key() ফাঙ্কশনের মতোই দুই বা ততোধিক array এর মধ্যে শুধু key এর উপর ভিত্তি করে Intersection করবে , তবে সেটা array_intersect_ukey() function নিজে করবেনা, বরং user এর supply করা callback function দিয়ে করবে । চলুন একটা উদাহরণ দেখা যাক :
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"blue","b"=>"black","e"=>"blue"); $result=array_intersect_ukey($a1,$a2,"myfunction"); echo "<pre>"; print_r($result); echo "</pre>" ?>
Output:
Array ( [a] => red [b] => green )