PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Работа с элементами массива
Nizz
Отправлено: 01 Февраля, 2019 - 16:01:28
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2016  


Помог: 0 раз(а)




Добрый день ув. форумчане. Не получается обработать значения массива, подскажите пожалуйста функцию для задачи.

Есть массив:
PHP:
скопировать код в буфер обмена
  1.  
  2. [1] -> 13,14,
  3. [3] -> 13,76,
  4. [87] -> 43,
  5. )
  6.  


Значения массива - строка с id пользователей через ",".
Необходимо выполнить поиск по строке массива и вернуть ключи, где есть искомый id.
То есть, если у пользователя id "13", вернуть должно 1 и 3 ключ.
Применял in_array(), но тк. это строка - не получается вернуть нужные ключи.
Спасибо.
 
 Top
Строитель Модератор
Отправлено: 01 Февраля, 2019 - 16:28:16
Post Id



Участник


Покинул форум
Сообщений всего: 1457
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 65 раз(а)




Nizz
PHP:
скопировать код в буфер обмена
  1. $arr = [
  2.     1 => '13,14',
  3.     3 => '13,76',
  4.     87 => 43
  5. ];
  6.  
  7. $id = 13;
  8. $keys = [];
  9.  
  10. foreach ($arr as $k => $v) {
  11.     ! in_array($id, explode(',', $v)) ?: $keys[] = $k;
  12. }
  13.  
  14. print_r($keys);
  15. /*
  16.     Array
  17.     (
  18.         [0] => 1
  19.         [1] => 3
  20.     )
  21. */


-----
~ PHP-7 & REGEXP - This is a really powerful kit ~
****************************************
 
 Top
Nizz
Отправлено: 01 Февраля, 2019 - 16:47:50
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2016  


Помог: 0 раз(а)




Строитель огромное вам спасибо !
 
 Top
LIME
Отправлено: 01 Февраля, 2019 - 17:17:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 10350
Дата рег-ции: Нояб. 2010  


Помог: 306 раз(а)





Строитель обычные if уже скучно?))
как понт нормально, но в продакшен такое фу писать


-----
DDD
 
 Top
Nizz
Отправлено: 02 Февраля, 2019 - 10:39:17
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2016  


Помог: 0 раз(а)




LIME , а как переписать условие под традиционный оператор if ?
 
 Top
Строитель Модератор
Отправлено: 02 Февраля, 2019 - 11:34:07
Post Id



Участник


Покинул форум
Сообщений всего: 1457
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 65 раз(а)




Nizz пишет:
а как переписать условие под традиционный оператор if ?
PHP:
скопировать код в буфер обмена
  1. $arr = [
  2.     1 => '13,14',
  3.     3 => '13,76',
  4.     87 => 43
  5. ];
  6.  
  7. $id = 13;
  8. $keys = [];
  9.  
  10. foreach ($arr as $k => $v) {
  11.     if (in_array($id, explode(',', $v))) {
  12.         $keys[] = $k;
  13.     }
  14. }
  15.  
  16. print_r($keys);


-----
~ PHP-7 & REGEXP - This is a really powerful kit ~
****************************************
 
 Top
LIME
Отправлено: 02 Февраля, 2019 - 12:11:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 10350
Дата рег-ции: Нояб. 2010  


Помог: 306 раз(а)





Строитель учи индексы бд...это наше все...с высоты опыта самоучки очень сильно рекомендую
освоишь btree++ остальное дело техники
и асинхронность почитай...очереди для начала...
мозги у тебя очень на месте


-----
DDD
 
 Top
Nizz
Отправлено: 02 Февраля, 2019 - 13:45:07
Post Id



Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Март 2016  


Помог: 0 раз(а)




Строитель еще раз большое вам спасибо. С оператором if - гораздо понятнее.
 
 Top
LIME
Отправлено: 02 Февраля, 2019 - 16:47:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 10350
Дата рег-ции: Нояб. 2010  


Помог: 306 раз(а)




Nizz пишет:
Строитель еще раз большое вам спасибо. С оператором if - гораздо понятнее.
ыгм...спасибо вам большое))...
(Добавление)
Nizz нельзя структуру хранить в строке...от слова вообще
структурированные данные храни как один к многим или юзай json ...тоесть как nosql


-----
DDD
 
 Top
Строитель Модератор
Отправлено: 02 Февраля, 2019 - 18:36:21
Post Id



Участник


Покинул форум
Сообщений всего: 1457
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 65 раз(а)




LIME пишет:

Строитель учи индексы бд...это наше все...с высоты опыта самоучки очень сильно рекомендую
освоишь btree++ остальное дело техники
и асинхронность почитай...очереди для начала...
мозги у тебя очень на месте
Спасибо Улыбка
(Добавление)
Nizz пишет:
Строитель еще раз большое вам спасибо. С оператором if - гораздо понятнее.

Да так-то не за что Закатив глазки


-----
~ PHP-7 & REGEXP - This is a really powerful kit ~
****************************************
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB