I am looking for a solution in php as mentioned in the accepted answer of this question:
javascript - return parent with only child that matches given s
array
(
array
(
'booking_name' => 'abc/xyz/123',
'pdg' => 'assure',
'user_area' => 'es st1',
'release' => 'oss72',
'start_date' => '2017-06-20 00:00:00',
'end_date' => '2017-06-23 00:00:00',
'asset_info' => array
(
array
(
'status' => 10,
'manufacturer' => 'Oracle',
'model' => 'HP BL460C GEN8',
'hardware_color' => '#0066b3',
),
array
(
'status' => 11,
'manufacturer' => 'HP',
'model' => 'HP BL460C GEN81',
'hardware_color' => '#0066b3',
)
),
'full_name' => 'Valay Desai',
'email_address' => 'valay@xyz.com',
),
array
(
'booking_name' => 'abc/xyz/123',
'pdg' => 'enm',
'user_area' => 'es st',
'release' => 'oss72',
'start_date' => '2017-06-20 00:00:00',
'end_date' => '2017-06-23 00:00:00',
'asset_info' => array
(
array
(
'status' => 10,
'manufacturer' => 'HP',
'model' => 'HP BL460C GEN8',
'hardware_color' => '#0066b3',
)
),
'full_name' => 'Valay Desai',
'email_address' => 'valay@xyz.com',
)
)
);
function getParentStackComplete($child, $stack) {
$return = array();
$k=0;
foreach ($stack as $k => $v) {
if (is_array($v)) {
if (is_array($stack) && !empty($stack) && $k==0) {
unset($v['asset_info'][1]);
$return = $v;
}
} else {
if(strpos($v, $child) !== false){
$return[] = $v;
}
}
$k++;
}
return empty($return) ? false: $return;
}
echo "";
print_r(getParentStackComplete('Oracle', $items['tableData']));
echo "";