@krispey102

Php как убрать определенные значения в массиве?

Есть массив $arResult["arClinics"], например:
Array
(
    [0] => Array
        (
            [ID] => 10882
            [~ID] => 10882
            [PROPERTY_SPECIALIZATIONS_VALUE] => Array
                (
                )

            [~PROPERTY_SPECIALIZATIONS_VALUE] => Array
                (
                )

            [PROPERTY_SPECIALIZATIONS_DESCRIPTION] => Array
                (
                )

            [~PROPERTY_SPECIALIZATIONS_DESCRIPTION] => Array
                (
                )

            [PROPERTY_SPECIALIZATIONS_PROPERTY_VALUE_ID] => Array
                (
                )

            [~PROPERTY_SPECIALIZATIONS_PROPERTY_VALUE_ID] => Array
                (
                )

        )

    [1] => Array
        (
            [ID] => 10883
            [~ID] => 10883
            [PROPERTY_SPECIALIZATIONS_VALUE] => Array
                (
                )

            [~PROPERTY_SPECIALIZATIONS_VALUE] => Array
                (
                )

            [PROPERTY_SPECIALIZATIONS_DESCRIPTION] => Array
                (
                )

            [~PROPERTY_SPECIALIZATIONS_DESCRIPTION] => Array
                (
                )

            [PROPERTY_SPECIALIZATIONS_PROPERTY_VALUE_ID] => Array
                (
                )

            [~PROPERTY_SPECIALIZATIONS_PROPERTY_VALUE_ID] => Array
                (
                )

        )

    [2] => Array
        (
            [ID] => 10884
            [~ID] => 10884
            [PROPERTY_SPECIALIZATIONS_VALUE] => Array
                (
                    [0] => 11281
                    [1] => 11254
                    [2] => 10885
                    [3] => 10895
                    [4] => 10887
                    [5] => 10886
                    [6] => 10888
                    [7] => 21736
                )

            [~PROPERTY_SPECIALIZATIONS_VALUE] => Array
                (
                    [0] => 11281
                    [1] => 11254
                    [2] => 10885
                    [3] => 10895
                    [4] => 10887
                    [5] => 10886
                    [6] => 10888
                    [7] => 21736
                )

            [PROPERTY_SPECIALIZATIONS_DESCRIPTION] => Array
                (
                    [0] => 
                    [1] => 
                    [2] => 
                    [3] => 
                    [4] => 
                    [5] => 
                    [6] => 
                    [7] => 
                )

нужно из этого массива в ключах убрать переменные [PROPERTY_SPECIALIZATIONS_DESCRIPTION], [~PROPERTY_SPECIALIZATIONS_VALUE], [~PROPERTY_SPECIALIZATIONS_DESCRIPTION], [PROPERTY_SPECIALIZATIONS_DESCRIPTION], [~PROPERTY_SPECIALIZATIONS_VALUE] как это сделать?
Грубо говоря, чтобы новый массив был из переменных ID и [PROPERTY_SPECIALIZATIONS_VALUE]

Пытался сделать так, не выходит
foreach($arResult["arClinics"] as $key => $item){
    $arResult["arClinics"]["ITEMS"] = $item["ID"];
    $arResult["arClinics"]["ITEMS"] = $item["PROPERTY_SPECIALIZATIONS_VALUE"];
}
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Ниже возможное решение:
foreach($arClinics as $id => $Clinic) {
	$arClinics[$id] = array_filter(
		$Clinic,
		function($key) {
			return $key == 'ID' || $key == 'PROPERTY_SPECIALIZATIONS_VALUE';
		},
		ARRAY_FILTER_USE_KEY
	);
}


Execute PHP online
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
1) unset
2) as $key => $item как бэ намекает что нужно использовать текущий ключ для проверки, ну и для ансет.
3) Можно просто перекинуть эти свойства в новый массив, если структура старого не устраивает.
Ответ написан
@66demon666
По навыкам джун - по факту безработный
Таки и в чем проблема? Циклы не знаете?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы