|
|
|
| у меня есть файл 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: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];
}
}
?>
вроде работает, скажите. насколько верная запись, можбыть можно короче и чтоб скрипт быстрее выполнялся? в одном цикле както например | |
|
|
|
|
|
|
|
для: Rembrant
(07.02.2009 в 23:22)
| | Если учитывать, что обычно элементы в массивах нумеруются с нуля, можно обойтись так:
<?
function expl($a) { return explode("^", trim($a));}
$mir = array_map('expl', file('../mir1.txt');
|
| |
|
|
|
|
|
|
|
для: 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, как-то можно это сделать не переписывая весь файл? я имею ввиду как лучше заменить одно значение, преследуя цель минимально загрузить сервер? надеюсь вы меня поняли ) | |
|
|
|
|
|
|
|
для: Rembrant
(08.02.2009 в 03:17)
| | если вместо цифры 6 поставить число 66, очевидно, остальные символы в файле должны переехать на одну позицию правее. Сделать это, не переписывая весь [остаток] файла, не выйдет. | |
|
|
|