Здравствуйте! Имеется запрос к БД на firebird, на выходе формируется массив вида: PHP: Array([0] => Array ( [Зверопой] => 10:45:00) [1] => Array ( [Зверопой] => 15:20:00 ) [2] => Array ( [Логан: Росомаха] => 12:45:00 ) [3] => Array ( [Логан: Росомаха ] => 17:20:00 )) Фрагмент кода, формирующий массив: PHP: $query = ibase_query($connect, $sql); for ($i = 0; $i < $n; $i++) { $row = ibase_fetch_assoc($query); $films[] = array($row['NAME'] => $row['TIME_BEGIN']); } Как мне обработать массив средствами PHP, чтобы вывести информацию в следующем виде: Зверопой 10:45:00 15:20:00 Логан: Росомаха 12:45:00 17:20:00 (т.е название фильма и все сеансы к нему?)
PHP: $arrInp = Array([0]=>Array([Зверопой]=>10:45:00)[1]=>Array([Зверопой]=>15:20:00)[2]=>Array([Логан: Росомаха]=>12:45:00)[3]=>Array([Логан: Росомаха ]=>17:20:00)); foreach ( $arrInp as $val ) { $ch = 0; foreach ( $val as $key => $vl ) { if ( $ch == 0 ) { $str = "$key $vl"; $ch = 1; } else { $str .= " $vl"; } } $newArr[] = $str; } // $newArr - массив нужных тебе строк.
PHP: $arr = Array( 0 => Array ('Зверопой' => '10:45:00'), 1 => Array ('Зверопой' => '15:20:00' ), 2 => Array ('Логан: Росомаха' => '12:45:00' ), 3 => Array ( 'Логан: Росомаха' => '17:20:00' )); function arr2str($arr){ $str=''; $newarr=[]; foreach($arr as $r){ $newarr[key($r)][]=$r[key($r)]; } foreach($newarr as $k=>$val){ $str.="$k ".implode(' ',$val).'<br/>'; } return $str; } echo arr2str($arr) Код (Text): Зверопой 10:45:00 15:20:00 Логан: Росомаха 12:45:00 17:20:00