<?php
$originalArray = [
[
'name' => 'John Doe',
'age' => 25,
'skills' => 'PHP, JavaScript, CSS',
],
[
'name' => 'Jane Smith',
'age' => 30,
'skills' => 'PHP, HTML, Python',
],
[
'name' => 'Bob Johnson',
'age' => 35,
'skills' => 'JavaScript, Ruby, CSS',
],
[
'name' => 'Tom Johnson',
'age' => 35,
'skills' => 'JavaScript, Ruby, CSS, PHP, Javascript',
],
];
function filterArrayBySkills($originalArray, $searchStrings)
{
$filteredArray = array_filter($originalArray, function ($item) use ($searchStrings) {
$skills = explode(', ', $item['skills']);
foreach ($searchStrings as $searchString) {
if (!in_array($searchString, $skills)) {
return false;
}
}
return true;
});
$newArray = array_map(function ($item) {
return [$item['name'] => $item['age']];
}, $filteredArray);
return $newArray;
}
$searchStrings = ['PHP', 'CSS'];
$resultArray = filterArrayBySkills($originalArray, $searchStrings);
print_r($resultArray);