Объединение элементов многомерного массива

Статус
В этой теме нельзя размещать новые ответы.

[lance]

Постоялец
Регистрация
31 Дек 2007
Сообщения
72
Реакции
4
Имеется такой скрипт:
Код:
$dir = "C:\/"; // каталог с файлами
if (is_dir($dir)) {
 if ($dh = opendir($dir)) {
  while (($file = readdir($dh)) !== false) {
   if (filetype($dir . $file)=="file") // Если тип переменной - file
   $data[] = @file("C:\/".$file); //читаем файл в массив
   }
  closedir($dh);
 }
Т.е. содержимое файлов диры записывается в 2х-мерный массив. Надо сделать так, чтобы массив стал не многомерным. Т.е. объединить массивы. Прошу помощи.
 
Читай не file(), а file_get_contents() и не надо будет ничего объединять.
 
Спасибо за оперативный ответ, но...
Пробовал эту функию уже... Но есть одна проблема:
array array_merge ( array $array1 , array $array2 [, array $... ] )
т.е. надо задавать аргументы array_merge($data[1], $data[2]...)
Я не знаю сколько их будет.

Добавлено через 2 минуты
Читай не file(), а file_get_contents() и не надо будет ничего объединять.
Надо именно чтобы каждая строка файла являлась элементом массива (т.к. потом с ним придётся работать), а т.к. файлов много, создаётся многомерный массив.
 
[lance], читай файлы строкой, а не массивом.
 
Спасибо за оперативный ответ, но...
Пробовал эту функию уже... Но есть одна проблема:
array array_merge ( array $array1 , array $array2 [, array $... ] )
т.е. надо задавать аргументы array_merge($data[1], $data[2]...)
Я не знаю сколько их будет.

Добавлено через 2 минуты

Надо именно чтобы каждая строка файла являлась элементом массива (т.к. потом с ним придётся работать), а т.к. файлов много, создаётся многомерный массив.
implode и explode тебе в помощь. ;)
И читай файлы строкой, а не массивом.
 
Спасибо, огромное, тупанул :) Щас попробую, отпишу о результате.
 
А не проще ли это
Код:
if (filetype($dir . $file)=="file")
заменить на это
Код:
if (is_file($dir . $file))
?

А насчет вопроса PHP_Master ответил =)
 
Надо именно чтобы каждая строка файла являлась элементом массива (т.к. потом с ним придётся работать), а т.к. файлов много, создаётся многомерный массив.
Фигли ты тогда удивляешься многомерному массиву?
 
А не проще ли это
Код:
if (filetype($dir . $file)=="file")
заменить на это
Код:
if (is_file($dir . $file))
?

А насчет вопроса PHP_Master ответил =)
Пока только учусь, главное, чтобы работало, поэтому получается своеобразный быдлокод :)

Добавлено через 1 минуту
Фигли ты тогда удивляешься многомерному массиву?
Не удивляюсь. Объяснил коряво видимо... Просто мне надо чтобы все файлы объединились в 1 массив и каждая строка каждого файла являлась элементом этого массива, но чтобы он не был многомерным. Т.е. чтобы строки из новых файлов записывались в конец массива, а не как многомерная надстройка. Надеюсь понятно объяснил.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху