在PHP中,我将编辑一些实体,比如一个名为ABC的项目,这个项目属于许多国家,同时添加这个我使用<select multiple="multiple">
的项目,并将所有选定的国家存储在project countries表中。现在,当我开始编辑这个项目时,我使用相同的逻辑,只做了一点改动:
从国家表填充所有国家
从projectCountries表中获取与projectd关联的所有国家
我有两个阵列:
Array (
[0] => Array ( [countryId] => 1 [countryName] => Pakistan )
[1] => Array ( [countryId] => 2 [countryName] => China )
)
步骤1的输出
和
Array (
[0] => Array ( [pcId] => 1 [countryId] => 1 [projectId] => 1 )
[1] => Array ( [pcId] => 2 [countryId] => 2 [projectId] => 1 )
)
步骤2的输出
但我很困惑如何证明中国已经与该项目相关(已在
<select multiple="multiple">
中选定)因为为了创建
<select multiple="multiple">
我使用了foreach循环。现在我猜不出如何比较foreach循环中的两个数组,以便在selected="selected"
中设置<option>
。 最佳答案
遍历所有国家并检查该国家是否存在于projectCountries
输出数组上。
像这样的:
$pc_list = array();
foreach($project_countries as $pc) {
$pc_list[] = $pc['countryId'];
}
foreach($countries as &$country) {
if(in_array($country['countryId'], $pc_list)) {
$country['selected'] = TRUE;
}
}
关于php - 使用foreach循环比较两个数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11137797/