Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP. Как удалить массив из массива

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день.
Помогите решить задачу:
 
Есть два массива:
первый

Код:
Array
(
    [0] => Array
        (
            [name] => email
            [value] => as@blabla.com
            [locked] => 0
        )
 
    [1] => Array
        (
            [name] => site
            [value] => http://blabla.com
            [locked] => 0
        )
 
    [2] => Array
        (
            [name] => name
            [value] => Alex
            [locked] => 0
        )
 
)

Второй

Код:
Array
(
    [0] => name
    [1] => site
)

 
Задача надо удалить массив из первого массива, если значение (value) второго массива равно ключу первого массива.  
 
Т.е. исходя из примера в первый массив должен получится таким:

Код:
Array
(
    [0] => Array
        (
            [name] => email
            [value] => as@itp.dp.ua
            [locked] => 0
        )
)

 
Как это реализуется, уже четвертый час сижу (((

----------
Абонентское обслуживание и ремонт компьютеров в Днепропетровске

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 20:25 24-07-2013 | Исправлено: DarkSmoke, 20:26 24-07-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke

Цитата:
Как это реализуется, уже четвертый час сижу (((

перебрать, если совпадает то, что нужно, то сделать unset
 

Код:
  $arr1 = array(
    array  
        (  
            'name' => 'email',
            'value' => 'as@blabla.com',  
            'locked' => 0  
        ),  
 
    array  
        (  
            'name' => 'site',  
            'value' => 'http://blabla.com',  
            'locked' => 0  
        ),  
 
    array
        (  
            'name' => 'name',
            'value' => 'Alex',
            'locked' => 0  
        )  
    );
 
  $arr2 = array('name', 'site');
   
  array_walk($arr1, function(&$el) use($arr2) {  
    if (in_array($el['name'], $arr2))
        $el = null;
  });  
   
  var_dump(array_filter($arr1));

 
ну или

Код:
  foreach($arr1 as $k => $el) {
      if (in_array($el['name'], $arr2))
        unset($arr1[$k]);
  }
   
  var_dump($arr1);


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:27 24-07-2013 | Исправлено: Cheery, 20:39 24-07-2013
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP. Как удалить массив из массива


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru