Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: содержимое файла в двумерный массив
 
 автор: Rembrant   (07.02.2009 в 23:08)   письмо автору
 
 

у меня есть файл mir.txt

В нем значения в следующем виде:

^0^1^2^3^
^4^5^6^7^
^8^9^10^11^
^12^13^14^15^

мне нужно эти значения загнать в двумерный массив $mir[][] так чтобы:

$mir[1][1] == 0;
$mir[3][2] == 9;

помогите

  Ответить  
 
 автор: Rembrant   (07.02.2009 в 23:22)   письмо автору
 
   для: Rembrant   (07.02.2009 в 23:08)
 

сделал так:

<?php

$myfail = File("./mir1.txt");

for ($p=0;$p<=100;$p++)
{
$myfail_arr = explode("^", $myfail[$p]);

for ($f=0;$f<=100;$f++)
{
$mir[$p+1][$f] = $myfail_arr[$f];
}
}

?>

вроде работает, скажите. насколько верная запись, можбыть можно короче и чтоб скрипт быстрее выполнялся? в одном цикле както например

  Ответить  
 
 автор: Trianon   (07.02.2009 в 23:52)   письмо автору
 
   для: Rembrant   (07.02.2009 в 23:22)
 

Если учитывать, что обычно элементы в массивах нумеруются с нуля, можно обойтись так:
<?
function expl($a) { return explode("^"trim($a));}
$mir array_map('expl'file('../mir1.txt');

  Ответить  
 
 автор: Rembrant   (08.02.2009 в 03:17)   письмо автору
 
   для: Trianon   (07.02.2009 в 23:52)
 

Trianon, подскажите, если содержимое файла mir.txt такое:

^0^1^2^3^
^4^5^6^7^
^8^9^10^11^
^12^13^14^15^

и нужно скриптом за место предположим цифры 6 поставить число 66, как-то можно это сделать не переписывая весь файл? я имею ввиду как лучше заменить одно значение, преследуя цель минимально загрузить сервер? надеюсь вы меня поняли )

  Ответить  
 
 автор: Trianon   (08.02.2009 в 11:14)   письмо автору
 
   для: Rembrant   (08.02.2009 в 03:17)
 

если вместо цифры 6 поставить число 66, очевидно, остальные символы в файле должны переехать на одну позицию правее. Сделать это, не переписывая весь [остаток] файла, не выйдет.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования