编辑代码

<?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 [
    //         'name' => $item['name'],
    //         'age' => $item['age'],
    //     ];
    // }, $filteredArray);

    // $newArray = array_map(function ($item) {
    //     return [
    //         $item['name'] => $item['age'],
    //     ];
    // }, $filteredArray);

    $newArray = array_map(function ($item) {
        return [$item['name'] => $item['age']];
    }, $filteredArray);

    return $newArray;
}

// 示例用法
$searchStrings = ['PHP', 'CSS'];

$resultArray = filterArrayBySkills($originalArray, $searchStrings);
print_r($resultArray);