<?php
// PHP program to carry out multidimensional array
// search by key=>value
// Function to recursively search for a
// given key=>value
function search($array, $key, $value) {
$results = array();
// if it is array
if (is_array($array)) {
// if array has required key and value
// matched store result
if (isset($array[$key]) && $array[$key] == $value) {
$results[] = $array;
}
// Iterate for each element in array
foreach ($array as $subarray) {
// recur through each element and append result
$results = array_merge($results,
search($subarray, $key, $value));
}
}
return $results;
}
// Multidimensional array for student list
$arr = array(
"A" => array(
1 => array('rollNo'=>101, 'name'=>"AMIT"),
2 => array('rollNo'=>102, 'name'=>"BHUWAN"),
3 => array('rollNo'=>103, 'name'=>"BOB"),
4 => array('rollNo'=>104, 'name'=>"CAROT")
),
"B" => array(
1 => array('rollNo'=>201, 'name'=>"ABHISHEK"),
2 => array('rollNo'=>202, 'name'=>"AMIT"),
3 => array('rollNo'=>203, 'name'=>"RONNY"),
4 => array('rollNo'=>204, 'name'=>"LOBO")
),
"C" => array(
1 => array('rollNo'=>301, 'name'=>"ANMOL"),
2 => array('rollNo'=>302, 'name'=>"TONNY"),
3 => array('rollNo'=>303, 'name'=>"SANJI")
)
);
$res = search($arr, 'name', 'AMIT');
foreach ($res as $var) {
echo $var["rollNo"]." - ".$var['name'] . "<br>";
}
?>