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
);