Php 是否使用数组中的选定值输出多选?

Php 是否使用数组中的选定值输出多选?,php,Php,我有一系列的工作: $jobs = ['j1', 'j2', 'j3', 'j4', 'j5']; 我还有一系列用户作业: $userJobs = ['j1', 'j3']; 我正在输出所有作业的多选,我希望选择用户作业 如果用户只有一份工作,我会这样做: foreach($jobs as $job){ echo '<option '.$job == $userJob ? 'selected' : ''.'>'.$job.'</option>'; } for

我有一系列的工作:

$jobs = ['j1', 'j2', 'j3', 'j4', 'j5'];
我还有一系列用户作业:

$userJobs = ['j1', 'j3'];
我正在输出所有作业的多选,我希望选择用户作业

如果用户只有一份工作,我会这样做:

foreach($jobs as $job){
    echo '<option '.$job == $userJob ? 'selected' : ''.'>'.$job.'</option>';
}
foreach($jobs作为$job){
回显“.$job.”;
}

但是如何在没有大量循环的情况下接近这个比较数组呢?

这只是一个在数组(用户作业)中查找值(作业)的问题

echo'.$job';

这只是在数组(用户作业)中查找值(作业)的问题

echo'.$job';

只需翻转
$userJobs
数组即可

$userJobs = array_flip(['j1', 'j3']);
然后,您可以使用一个简单的
isset($userJobs[$job])
进行检查:

foreach($jobs作为$job){
回显“.$job.”;
}

只需翻转
$userJobs
数组即可

$userJobs = array_flip(['j1', 'j3']);
然后,您可以使用一个简单的
isset($userJobs[$job])
进行检查:

foreach($jobs作为$job){
回显“.$job.”;
}

请在数组中使用-检查数组中是否存在值

echo '<option '.(in_array($job, $userJobs) ? 'selected' : ''.'>'.$job.'</option>';
echo'.$job';

请在数组中使用-检查数组中是否存在值

echo '<option '.(in_array($job, $userJobs) ? 'selected' : ''.'>'.$job.'</option>';
echo'.$job';
在数组中()
或者可能是
在数组中($job,$userJob)
在数组中()
或者可能是
在数组中($job,$userJob)