За последние 24 часа нас посетили 24509 программистов и 1645 роботов. Сейчас ищут 1209 программистов ...

работа с массивом

Тема в разделе "Прочие вопросы по PHP", создана пользователем immortal.1986, 10 июн 2015.

  1. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    Добрый вечер! Вопрос!


    $arr[$key] = $arrTwo[$key]
    бывает так что какогото индекса нет выскакивает ворнинг как побороть
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
  3. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    вопросик
    есть Array


    Код (PHP):
    1. (
    2.     [t_day] => Дата
    3.     [views] => Показы
    4.     [clicks] => Клики
    5.     [ctr] => CTR
    6.     [0] => закрытие
    7.     [1] => весь рпроигран олик
    8.     [2] => 5 сек показана кнопка "закрыть"
    9.     [3] => звук выключен
    10.     [4] => 20 сек воспроизведения
    11.     [5] => 40 сек воспроизведения
    12.     [6] => старт воспроизведения
    13. )
    14.  
    15. и 
    16.     [0] => Array
    17.         (
    18.             [t_day] => 121214
    19.             [id] => 3// это из верхнего массива
    20.             [hits] => 14
    21.         )
    22.  
    23.     [1] => Array
    24.         (
    25.             [t_day] => 121214
    26.             [id] => 7
    27.             [hits] => 14
    28.         )
    29.  
    30.     [2] => Array
    31.         (
    32.             [t_day] => 121214
    33.             [id] => 2
    34.             [hits] => 14
    35.         )
    36.  
    37.     [3] => Array
    38.         (
    39.             [t_day] => 121216
    40.             [id] => 7
    41.             [hits] => 1
    42.         )
    43.  
    44.     [4] => Array
    45.         (
    46.             [t_day] => 121217
    47.             [id] => 1
    48.             [hits] => 3759
    49.         )
    50.  
    51.     [5] => Array
    52.         (
    53.             [t_day] => 121217
    54.             [id] => 3
    55.             [hits] => 25754
    56.  
    57.  
    58. как на выходе получить 
    59.  
    60. [121214] => Array
    61.         (
    62.             [t_day] => 121214
    63.             [ звук выключен] =>14
    64.             [5 сек показана кнопка "закрыть"] => 14
    65.  
    66.  [121214] => Array
    67.         (
    68.             [t_day] => 121217
    69.             [весь рпроигран олик] => 3759
    70.             [5 сек показана кнопка "закрыть"] => 14
    71.             
    72.         ) 
    и так далее спасибо жду
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Никак не получить, пока не начнешь кнопкой Code пользоваться в редакторе постов.
     
  5. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    вообще мозг поплавился!!!!! помогите
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    immortal.1986, бро, отдохни...
     
  7. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    это да1!!!!! дедлайн мазафйака!!!!!!!
    пихни в нужном напрвлении руки все сами доделают!
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    какой может быть дедлайн? тут налицо практически нулевые умения манипулирования данными. и уже дедлайн. либо не надо выдумывать дедлайна либо не надо выдумывать клиенту что ты программист, да ж ведь?
    ты из второго листинга чо-нить сам понял? я вот не понял какая у тебя проблема. расскажешь подробнее?
     
  9. immortal.1986

    immortal.1986 Активный пользователь

    С нами с:
    24 сен 2013
    Сообщения:
    257
    Симпатии:
    0
    имею два массива!
    1
    Код (PHP):
    1. //$arrColName
    2. (
    3.     [0] => закрытие
    4.     [1] => весь рпроигран олик
    5.     [2] => 5 сек показана кнопка 
    6.     [3] => звук выключен
    7.     [4] => 70 сек воспроизведения
    8.     [5] => 50 сек воспроизведения
    9.     [6] => старт воспроизведения
    10. )
    и второй массив (он большой)

    Код (PHP):
    1.  
    2. [0] => Array
    3.         (
    4.             [t_day] => 121214
    5.             [id] => 3
    6.             [hits] => 14
    7.         )
    8.  
    9.     [1] => Array
    10.         (
    11.             [t_day] => 121214
    12.             [id] => 6
    13.             [hits] => 64
    14.         )
    15.  
    16.     [2] => Array
    17.         (
    18.             [t_day] => 121214
    19.             [id] => 2
    20.             [hits] => 24
    21.         )
    22.  
    23.     [3] => Array
    24.         (
    25.             [t_day] => 121217
    26.             [id] => 1
    27.             [hits] => 3759
    28.         )
    29.  
    30.     [4] => Array
    31.         (
    32.             [t_day] => 121217
    33.             [id] => 3
    34.             [hits] => 25754
    "скрещиваю массивы"!
    как на выходе получить 

    Код (PHP):
    1. [0] => Array
    2.         (
    3.             [t_day] => 121214
    4.             [звук выключен] => 14                    //   ([id] => 3) => ([hits] => 14)
    5.             [старт воспроизведения] =>64      // [id] => 6
    6.             [id] => 2
    7. ////и так далее! 
    8.          )
    9.  [1] => Array
    10.         (
    11.             [t_day] => 121217
    12.             [id] => 1
    13.             [id] =>3
    14.             
    15.         ) 
    16. ////и так далее!   
    //тоесть , примерно!!

    Код (PHP):
    1.            [121214] => Array
    2.                                (
    3.                                 [звук выключен] => 14
    4.                                 [старт воспроизведения] => 64
    5.                                 [5 сек показана кнопка "закрыть"] => 24
    6.                                 [..$id] => ..$val
    7.                               )
    8.          )
    то есть имею массив массивов, где каждое событие записано в отделенный массив

    [1] => Array
            (
                [t_day] => 121214
                [id] => 6 // название события
                [hits] => 64 // Данные самого события
            )

    forecил whайлий итд , (сломал клаву!)
    Дошел вот до допустимого массива(тоесть просто появился метод каторый создает два этих массив)
    теперь надо собрать массив , и вроде просто и блин......(а кстате да ганзал по поводу упрека(кушать хочеться всегда))

    Спасибо!
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    может быть ты не замечаешь но ты НЕ публикуешь как именно у тебя из двух входных массивов получается один выходной. где-то там под капотом твоей головы это чудо расчудесное происходит? или всё же есть какой-то алгоритм? какая-то зависимость? почему не 70 секунд воспроизведения а старт воспроизведения? и так далее...
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    immortal.1986, так несложный алгоритм получается, в принципе.

    Код (PHP):
    1. // Знаю, что нехорошо так, но лень искать перевод
    2. function скреститьМассивы($a1, $a2) {
    3.     $result = [];
    4.     foreach ($a2 as $elem) {
    5.          if (isset($a1[$elem["id"]])) {
    6.               $result[$elem['t_day']][$a1[$elem["id"]]] = $elem["hits"];
    7.          }
    8.     }
    9.     // Если надо, чтоб t_day было не в индексах, чуть поправим массив
    10.     foreach ($result as $t_day => &$r) {
    11.         $r["t_day"] = $t_day;
    12.     }
    13.     return array_values($result );
    14. }
    15.  
    Отладьте сами, недосуг немного.