мне нужно найти [propetyValue] => - если [propetyValue] имеет значение дифис(-) то удалить ключ полностью: PHP: [2] => Array ( [propety] => GPRS [propetyValue] => - ) как перебирать с помощью forech такую конструкцию: PHP: [id_LINK_TAB_WITH_GR-OF-PROPET] => Array ( [0] => Array ( [grOfPropet] => Тип устройства [charKeyValue] => Array ( [0] => Array ( [propety] => Тип устройства [propetyValue] => Смартфон ) [1] => Array ( [propety] => SIM [propetyValue] => 2 (1 слот miniSIM; 2 слот microSIM) ) ) ) [1] => Array ( [grOfPropet] => Стандарты [charKeyValue] => Array ( [0] => Array ( [propety] => Стандарты сети 2G (GSM) [propetyValue] => GSM 850/900/1800/1900MHz ) [1] => Array ( [propety] => Стандарты сети 3G (WCDMA) [propetyValue] => 3G WCDMA 900/2100 МГц ) [2] => Array ( [propety] => GPRS [propetyValue] => - ) [3] => Array ( [propety] => Wi-Fi [propetyValue] => 802.11 b/g/n ) [4] => Array ( [propety] => Стандарты сети 4G (LTE) [propetyValue] => LTE - Bands 1, 3, 7, 20 ) ) ) )
PHP: <?php foreach($arr['id_LINK_TAB_WITH_GR-OF-PROPET'] as &$item) { $item = array_filter($item['charKeyValue'], function($a){ return $a['propetyValue'] != '-'; }); } P.S. Когда выкладываете пример массива на форумах, лучше используйте var_export(), а не print_r()
спасибо, за помощь, уже решил сам, код: PHP: $ol = "-"; $arr = array(); foreach ($row['id_LINK_TAB_WITH_GR-OF-PROPET'] as $key => &$val) { if(is_array($val)){ foreach ($val['charKeyValue'] as $item => &$vall) { if($vall['propetyValue'] == $ol){ unset($val['charKeyValue'][$item]); } } } if($val['charKeyValue'] == $arr){ unset($row['id_LINK_TAB_WITH_GR-OF-PROPET'][$key]); } }