Php 在一个数组上循环并检查元素是否存在于另一个数组中
我有两个数组,第一个是Php 在一个数组上循环并检查元素是否存在于另一个数组中,php,Php,我有两个数组,第一个是 $practice_areas = array( array( "id" => 1, "name" => "Administrative", "form_id" => 1 ), array( "id" => 2, "name" => "Admiralty & Maritime", "form_id" => 1
$practice_areas = array(
array(
"id" => 1,
"name" => "Administrative",
"form_id" => 1
),
array(
"id" => 2,
"name" => "Admiralty & Maritime",
"form_id" => 1
),
array(
"id" => 3,
"name" => "Agricultural",
"form_id" => 1
),
array(
"id" => 4,
"name" => "Alternative Dispute Resulution",
"form_id" => 1
),
array(
"id" => 5,
"name" => "Antitrust & Trade Regulation",
"form_id" => 1
),
array(
"id" => 6,
"name" => "Appellate Practice",
"form_id" => 1
)
);
第二个是$selected\u id
$selected_id = array(
array(
"id" => 1,
"lawyer_id" => 2,
"practice_area_id" => 3
),
array(
"id" => 2,
"lawyer_id" => 2,
"practice_area_id" => 4
)
);
这是我目前的代码:
<label>Practice area(s) *</label>
<select id="practice_areas" multiple="multiple" name="practice_areas[]">
<option value="" selected="selected"></option>
<?php foreach($practice_areas as $practice_area) {?>
<option value="<?php $practice_area['id'] ?>" <?php ($selected_id->practice_area_id == $practice_area['id']) ? 'selected="selected"' : ''; ?>><?php $practice_area['name'] ?></option>
<?php } ?>
</select>
我得到了这个结果
$selected_id = array(
array(
"id" => 1,
"lawyer_id" => 2,
"practice_area_id" => 3
),
array(
"id" => 2,
"lawyer_id" => 2,
"practice_area_id" => 4
),
true,
true
);
你可以这样做:
练习区*
请直接添加代码,不要将其作为图像添加。
只需尝试此selected=”“
@devpro这不是因为$selected\u id是数组,您使用的是哪个php版本?我所做的是创建新的数组。我在回答中添加了一个eval.in链接,这样您就可以看到它是有效的。您在问题中添加的编辑内容没有意义。该输出与代码不对应。请注意,循环更改$is_selected,而不是$selected_id。我认为您混淆了它们。无论如何,请检查由生成的输出。
$selected_id = array(
array(
"id" => 1,
"lawyer_id" => 2,
"practice_area_id" => 3
),
array(
"id" => 2,
"lawyer_id" => 2,
"practice_area_id" => 4
),
true,
true
);