Вам необходимо удалить из $options
массива, а не $option
подмассива.
Также, пожалуйста, получите ключ при цикле по массиву $options
и удалите по ключу.
Рабочаяпример:
<code><?php
$OptionValues = [
["OptionId" => "22", "OptionName" => "Gener"],
["OptionId" => "21", "OptionName" => "Gener"]
];
$options = [];
$options[] = ['value' => 17];
$options[] = ['value' => 18];
$options[] = ['value' => 19];
$options[] = ['value' => 20];
$options[] = ['value' => 21];
$options[] = ['value' => 22];
echo '<br/>$options array before: ';
echo '<pre>';print_r($options);echo '
';foreach ($ OptionValues как $ optValue) {$ optionIdVal = $ optValue ['OptionId'];foreach ($ options as $ key => $ option) {if ($ option ['value'] == $ optionIdVal) {unset ($ options [$ key]);}}} echo 'массив $ options после: ';echo '
';print_r($options);echo '
';?>
Вывод
$ массив параметров до:
Array(
[0] => Array([value] => 17)
[1] => Array([value] => 18)
[2] => Array([value] => 19)
[3] => Array([value] => 20)
[4] => Array([value] => 21)
[5] => Array([value] => 22)
)
$ массив параметров После:
Array(
[0] => Array([value] => 17)
[1] => Array([value] => 18)
[2] => Array([value] => 19)
[3] => Array([value] => 20)
)