从 php 数组中获取值并内爆

Fetching value from an php array and implode

Array
(
    [expert_skills] => ,1,2,3,7
    [inter_skills] => ,9,10,7,8,9
    [beginner_skills] => ,6,8
)

这是我拥有的数组,我希望 expert_skills 、inter_skills、beginner_skills 被视为具有上述值的数组。基本上这些是我从另一个 table.

存储的 ID

但我无法获取,我已经搜索并发现首先我必须内爆,分解这些值(右侧)然后将其放入数组中以便每个值都有唯一的位置但是如何完全内爆所以我完成了我的工作

从这里编辑

$sql_r = "select expert_skills, inter_skills, beginner_skills from user_personal_details WHERE upd_user_id = '". $_SESSION["user_id"] ."'";

$skills_render = connection()->query($sql_r);


echo "<pre>";
print_r($skills_render);
echo "</pre>";

我在这里获取并执行了 print_r 只是为了查看预期结果

echo $skills_render['0']['expert_skills'];

然后只是回应 expert_skills

$arr=explode(",",$skills_render['0']['expert_skills']);

echo "<pre>";
print_r($arr);
echo "</pre>";

然后 foreach 循环从另一个数据库中获取实际数据

foreach ($arr as $key => $value) {

  $sql45 = "select skill_name from user_skills WHERE id = '". $value ."'";

  $skills_render_value = connection()->query($sql45);

  echo "<pre>";
  print_r($skills_render_value);
  echo "</pre>";
}

我想我已经得到了我想要的东西,但它看起来很乱

使用 array_map :

$arr = array (
    'expert_skills' => ',1,2,3,7',
    'inter_skills' => ',9,10,7,8,9',
    'beginner_skills' => ',6,8'
);

$arr = array_map(function ($v) {
    return array_filter(explode(',', $v));
}, $arr);

print_r($arr);

实时取景:https://3v4l.org/tDjbl