Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение определенных значений массива 
:(
    Опции темы
ShamanVoodoo
Дата 31.5.2013, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.10.2007
Где: Сергиев Посад

Репутация: -1
Всего: -3



Суть в следующем, есть допустим  массив
Код

$a = array('id'=>1,'name'=>'blabla', 'password' =>'dsf435', 'status' => 'user');

есть ли какая-то стандартная функция или короткое решение получения на основе данного массива среза по ключам?
Код

$b = funct($a, array ('name',  'status') );
array('name'=>'blabla', 'status' => 'user')


PM MAIL ICQ   Вверх
Arantir
Дата 31.5.2013, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



http://www.php.net/manual/ru/function.arra...tersect-key.php ?

Это сообщение отредактировал(а) Arantir - 31.5.2013, 23:04


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
ShamanVoodoo
Дата 1.6.2013, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.10.2007
Где: Сергиев Посад

Репутация: -1
Всего: -3



Arantir> я тоже о ней подумал, но нет - ключи то у второго массива отличаются
PM MAIL ICQ   Вверх
Arantir
Дата 1.6.2013, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



Цитата

$b = funct($a, array ('name',  'status') );
array('name'=>'blabla', 'status' => 'user')

Код

$b = array_intersect_key($a, array_flip(array('name',  'status')));
array('name'=>'blabla', 'status' => 'user')


?

Это сообщение отредактировал(а) Arantir - 1.6.2013, 00:18


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
ShamanVoodoo
Дата 1.6.2013, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.10.2007
Где: Сергиев Посад

Репутация: -1
Всего: -3



Arantir спасибо,  а то что-то заклинило меня на самописной функции выборки циклом
PM MAIL ICQ   Вверх
Чучмек
Дата 1.6.2013, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Цитата(ShamanVoodoo @  1.6.2013,  12:27 Найти цитируемый пост)
  а то что-то заклинило меня на самописной функции выборки циклом 
 а чё?
Код

  function GetArrayVal($m)
    {
    $result = array();
    $c = func_num_args();
    for($i=1;$i<$c;$i++)
     {
     $key = func_get_arg($i);
     if (isset($m[$key])) $result[$key] = $m[$key];
     }
    return $result;
    }

 print_r(GetArrayVal(array('a'=>0,'b'=>1,'c'=>2,'d'=>3,'e'=>4,'f'=>5),'a','c','d'));




Это сообщение отредактировал(а) Чучмек - 1.6.2013, 15:46


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
ShamanVoodoo
Дата 1.6.2013, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.10.2007
Где: Сергиев Посад

Репутация: -1
Всего: -3



Чучмек>
ошибка вроде: аргументов быть не должно т.е. function GetArrayVal()
вариант funct($array, $array2)  удобнее\проще и быстрее
пользовательские функции работают медленнее системных, поэтому стараюсь не изобретать велосипеды

Это сообщение отредактировал(а) ShamanVoodoo - 1.6.2013, 18:22
PM MAIL ICQ   Вверх
Чучмек
Дата 1.6.2013, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Цитата(ShamanVoodoo @  1.6.2013,  18:21 Найти цитируемый пост)
аргументов быть не должно

Это как, почему?
Цитата(ShamanVoodoo @  1.6.2013,  18:21 Найти цитируемый пост)
пользовательские функции работают медленнее системных

А ты заметишь разницу?
Цитата(ShamanVoodoo @  1.6.2013,  18:21 Найти цитируемый пост)
стараюсь не изобретать велосипеды

Создавать три дополнительных массива, чтобы получить значения из существующего - тоже не очень. 



--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
ShamanVoodoo
Дата 1.6.2013, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.10.2007
Где: Сергиев Посад

Репутация: -1
Всего: -3



Чучмек
Цитата(Чучмек @  1.6.2013,  19:39 Найти цитируемый пост)
Это как, почему?

проверил в 5.3 действительно работает без проблем, помню в какой-то версии php ругался на такие вещи

Цитата(Чучмек @  1.6.2013,  19:39 Найти цитируемый пост)
А ты заметишь разницу?

это не аргумент, аргументом  бы был бенчмарк вариантов
PM MAIL ICQ   Вверх
krundetz
Дата 3.6.2013, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Цитата(ShamanVoodoo @  1.6.2013,  20:37 Найти цитируемый пост)
это не аргумент, аргументом  бы был бенчмарк вариантов 

аргумент. Так как вот когда разница будет заметна над этим будет стоить париться, не раньше.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Fortop
Дата 3.6.2013, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(ShamanVoodoo @  31.5.2013,  22:50 Найти цитируемый пост)
 получения на основе данного массива среза по ключам?

vs
Цитата(ShamanVoodoo @  1.6.2013,  00:05 Найти цитируемый пост)
но нет - ключи то у второго массива отличаются 


?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.