I'm научиться работать с файлами в PHP, первый я сделал эту функцию для записи в файл, подмигнул довольно просто:двухмерный массив после fgets?
function zapis_do_suboru($zapisovany_subor, $obsah_suboru)
{
$pracovny_subor = fopen($zapisovany_subor,"w") or die("Chyba pri otvarani suboru");
fwrite($pracovny_subor, $obsah_suboru) or die("Nejde zapisovat do suboru");
fclose($pracovny_subor);
echo "Zapis $zapisovany_subor prebehol uspesne.";
}
Тогда я сделал функцию для чтения из файла, но я был немного застрял здесь, потому что моя книга объясняет, как читать только одну строку, но потом я гугле немного и нашли какое-то решение и сделал эту функцию для чтения из файла:
function citanie_zo_suboru($citany_subor)
{
$pracovny_subor = fopen($citany_subor,"r") or die("Chyba pri otvarani suboru");
$j = 0;
while(!feof($pracovny_subor))
{
$pole[$j] = array(fgets($pracovny_subor, 4096));
$j++;
}
fclose($pracovny_subor);
return $pole;
}
Тогда я хотел, чтобы проверить его, так i создаю две переменные:
$subor = "textsubor.txt";
$text = <<<_END
Riadok1 blabla
Riadok2 blabla
Riadok3 meno suboru: $subor
_END;
И это призвание функций:
zapis_do_suboru($subor, $text);
echo "<br />";
foreach (citanie_zo_suboru($subor) as $index =>$popis)
echo $popis."<br />";
Но проблема в том, что функция citanie_zo_suboru создает двумерную матрицу, поэтому выход был только «массив массива массив массив». С print_r и немного попыток я обнаружил, что, когда я изменить:
foreach (citanie_zo_suboru($subor) as $index =>$popis)
echo $popis."<br />";
к:
foreach (citanie_zo_suboru($subor) as $index =>$popis)
echo $popis[0]."<br />";
он делает именно то, что я хотел. Может ли кто-нибудь сказать мне, почему моя функция создает двухмерный, а не только классический одномерный массив? Я был бы очень благодарен, если бы мог. Благодаря
выглядит как $ pole [$ j] = array (fgets ($ pracovny_subor, 4096)); должен быть $ pole [$ j] = fgets ($ pracovny_subor, 4096); –
@JoeMinichino ou спасибо, что это действительно работает, теперь я понимаю, что я сделал неправильно :) Большое спасибо –