Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: массивы [2]

 PHP.SU

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


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

> Без описания
JustUserR
Отправлено: 13 Октября, 2009 - 08:10:49
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




SAD Это вам не C++ - тут размеронсть массива можно и не знать Улыбка
Примерно так
PHP:
скопировать код в буфер обмена
  1. echo "<table>";
  2. for($i=0;$i<count($arr);$i++)
  3. {echo "<tr>";
  4. for($k=0;$k<count($arr[$i]);$k++)
  5. {echo "<td>".$arr[$i][$k]."</td>";}
  6. echo "</tr>";
  7. }
  8. echo "</table>";


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Champion Супермодератор
Отправлено: 13 Октября, 2009 - 09:28:44
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




JustUserR, как не хорошо count в цикле вызывать. Есть функция isset.
SAD пишет:
как теперь с помощью цикла for , зная размерность массива--вывести его в таблицу?
Ты программист или кто?
 
 Top
SAD
Отправлено: 13 Октября, 2009 - 09:51:50
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




я только учусь, я сам уже давно сделал, просто с тегами таблиц не мог немного разобраться.
 
 Top
SAD
Отправлено: 13 Октября, 2009 - 22:58:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




тема закрыта

(Отредактировано автором: 14 Октября, 2009 - 00:15:21)

 
 Top
SAD
Отправлено: 16 Октября, 2009 - 21:13:48
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




опять массивы

у меня есть файл, я считал с него информацию и загнал в многомерный массив след образом
PHP:
скопировать код в буфер обмена
  1.  
  2. $src = fopen('1.txt',"r");
  3.     while ( !feof($src) )
  4.       {
  5.         $mas[] = fgets($src,464564);  
  6.       }
  7.      
  8.     $raz=sizeof($mas);
  9.     for($i=0;$i<$raz;$i++)
  10.       {
  11.         $mas[$i]=explode(" ",$mas[$i]);
  12.       }
  13.      
  14.     fclose($src);


я проделал над ним некоторые действия, и хочу загнать опять в файл, делаю это с помощью serialize:
PHP:
скопировать код в буфер обмена
  1. $file = fopen('1.txt', 'w');
  2.     $mas = serialize($mas);
  3.     fwrite ($file,$mas);
  4.     fclose($file);


как теперь правильно воспользоваться функцией unserialize, чтобы можно было опять считать файл и загнать в многомерный массив способом , который описан выше.

или можно каким то другим способом , корректно загнать массив в файл?

(Отредактировано автором: 17 Октября, 2009 - 11:37:14)

 
 Top
SAD
Отправлено: 17 Октября, 2009 - 14:43:40
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




никаких идей нет?
 
 Top
Maksim337
Отправлено: 18 Октября, 2009 - 11:20:41
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


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




После того как считал с файла строку...
PHP:
скопировать код в буфер обмена
  1. $mas=unserialize($ считаная строка);# получаем многомерный массив
  2. #Делаешь со своим многомерным массивом $mas всечто нужно и опять записываешь
 
 Top
SAD
Отправлено: 20 Ноября, 2009 - 10:54:03
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




все таки продолжу тему, как без помощи serialize можно записать двумерный массив в файл?
пробовал, по всякому, но нужно,чтобы записалось в файл в виде таблицы, то есть одна строка массива--одна строка файла, где записи через пробел, потом новая строка и т.д.
 
 Top
JustUserR
Отправлено: 20 Ноября, 2009 - 11:41:49
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




SAD Ну а так в чем проблема - напишите себе функцию которая будет кодировать записанные данные так чтобы в них не встречался пробел ни символы новой строки (Можете кодировать их как urlencode) и записывайте - а для чтения разбиваете к примеру с помощью explode


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
SAD
Отправлено: 20 Ноября, 2009 - 11:45:16
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




пробую так

PHP:
скопировать код в буфер обмена
  1. $h = fopen("1.txt","w");
  2.         for($i=0;$i<sizeof($masedit1);$i++)
  3.           {
  4.             for($j=0;$j<sizeof($masedit1[0]);$j++)
  5.               {
  6.                 fwrite($h,$masedit1[$i][$j].' ');
  7.               }
  8.             fwrite($h,"\n");
  9.           }
  10.         fclose($h);

но в первой же строке не ставится пробел после последнего элемента, происходит перенос на следующую строку ставится пробел, потом перенос на следующую строку , а далее все нормально. как это дело исправить?

(Отредактировано автором: 20 Ноября, 2009 - 13:04:57)

 
 Top
JustUserR
Отправлено: 20 Ноября, 2009 - 14:02:45
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




SAD Вопервых посмотрите данные ваших массивов с помощью print_r или var_dump - вдруг там в конце лежат какие лишние символу типа перевода строки
Во вторых если размер строки неоднороден то sizeof($masedit1[0]) надо заменить на sizeof($masedit1[$i])


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
SAD
Отправлено: 20 Ноября, 2009 - 14:11:00
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




проблему решил, спасибо за участие в решении проблемы
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB