从php数组中获取值并进行内爆

时间:2017-03-28 08:12:07

标签: php mysql php-5.5

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

这是我拥有的数组,我希望将expert_skills,inter_skills,beginner_skills视为一个具有上述值的数组。基本上这些是我从另一个表中存储的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 jsut以查看预期结果

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>";
}

我想我得到了我想要的但看起来很乱的

1 个答案:

答案 0 :(得分:-1)

使用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