I'm學習用PHP文件的工作,我首先用於寫入文件所做的這個功能,it's很簡單: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;
}
然後我想測試它,所以我創建了兩個變量:
$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感謝它真的有效,現在我知道了我做錯了什麼:)非常感謝 –