За последние 24 часа нас посетил 53221 программист и 21410 роботов. Сейчас ищут 2055 программистов ...

Разбор массива

Тема в разделе "PHP для новичков", создана пользователем kruchkov-a, 14 мар 2017.

  1. kruchkov-a

    kruchkov-a Новичок

    С нами с:
    14 мар 2017
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте!
    Имеется запрос к БД на firebird, на выходе формируется массив вида:
    PHP:
    1. Array([0] => Array ( [Зверопой] => 10:45:00) [1] => Array ( [Зверопой] => 15:20:00 )  [2] => Array ( [Логан: Росомаха] => 12:45:00 ) [3] => Array ( [Логан: Росомаха ] => 17:20:00 ))
    Фрагмент кода, формирующий массив:
    PHP:
    1. $query = ibase_query($connect, $sql);      
    2.    for ($i = 0; $i < $n; $i++)
    3.    {
    4.      $row = ibase_fetch_assoc($query);
    5.      $films[] = array($row['NAME'] => $row['TIME_BEGIN']);
    6.    }
    Как мне обработать массив средствами PHP, чтобы вывести информацию в следующем виде:
    Зверопой 10:45:00 15:20:00
    Логан: Росомаха 12:45:00 17:20:00
    (т.е название фильма и все сеансы к нему?)
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    PHP:
    1. foreach ( $array AS $K => $V )
    2. {
    3. echo "{$K} {$V}";
    4. }
     
  3. kruchkov-a

    kruchkov-a Новичок

    С нами с:
    14 мар 2017
    Сообщения:
    3
    Симпатии:
    0
    Тогда выведет:
    Зверопой 10:45:00
    Зверопой 15:20:00
    Логан: Росомаха 12:45:00
    Логан: Росомаха 17:20:00
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.971
    Симпатии:
    753
    PHP:
    1. $arrInp = Array([0]=>Array([Зверопой]=>10:45:00)[1]=>Array([Зверопой]=>15:20:00)[2]=>Array([Логан: Росомаха]=>12:45:00)[3]=>Array([Логан: Росомаха ]=>17:20:00));
    2.  
    3. foreach ( $arrInp as $val ) {
    4.  
    5.     $ch = 0;
    6.  
    7.     foreach ( $val as $key => $vl ) {
    8.  
    9.         if ( $ch == 0 ) { $str = "$key $vl"; $ch = 1; } else { $str .= " $vl"; }
    10.  
    11. }
    12. $newArr[] = $str;
    13. }
    14. // $newArr - массив нужных тебе строк.
     
  5. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    638
    Симпатии:
    380
    PHP:
    1. $arr = Array(
    2.     0 => Array ('Зверопой' => '10:45:00'),
    3.     1 => Array ('Зверопой' => '15:20:00' ),
    4.     2 => Array ('Логан: Росомаха' => '12:45:00' ),
    5.     3 => Array ( 'Логан: Росомаха' => '17:20:00' ));
    6.    function arr2str($arr){
    7.     $str='';
    8.     $newarr=[];
    9.     foreach($arr as $r){
    10.         $newarr[key($r)][]=$r[key($r)];
    11.     }
    12.     foreach($newarr as $k=>$val){
    13.         $str.="$k ".implode(' ',$val).'<br/>';
    14.     }
    15.     return $str;
    16.    }
    17.    echo arr2str($arr)
    Код (Text):
    1. Зверопой 10:45:00 15:20:00
    2. Логан: Росомаха 12:45:00 17:20:00
     
    kruchkov-a нравится это.
  6. kruchkov-a

    kruchkov-a Новичок

    С нами с:
    14 мар 2017
    Сообщения:
    3
    Симпатии:
    0
    Спасибо! То что нужно!