我想知道如何读取文件。下面是我正在执行的代码,但我得到了错误的答案。我的文件ding.txt
包含:
name, drinks,
jay, sprite,
chile, wine,
我代码:<?php
$top = file('ding.txt');
foreach($top as $trick)
{
$m = preg_split( "/,/", $trick);
foreach($m as $t)
{
echo "$t[1]";
}
}
?>
出于教育目的,我不会更改您的代码。
这样你就可以在浏览器中看到发生了什么:(有了括号,你就不会错过空格了)
$top = file('ding.txt');
foreach($top as $trick)
{
echo "<br>$trick = '{$trick}'<br>";
$m = preg_split( "/,/", $trick);
foreach($m as $t)
{
echo " $t = '{$t}'<br>";
//echo "$t[1]";
}
}
输出:
$trick = 'name, drinks, '
$t = 'name'
$t = ' drinks'
$t = ' '
$trick = 'jay, sprite, '
$t = 'jay'
$t = ' sprite'
$t = ' '
$trick = 'chile, wine, '
$t = 'chile'
$t = ' wine'
$t = ' '
以这一行为例:
$t = ' drinks'
如果你了解表,它应该是显而易见的:
$t[0] will be ' '
$t[1] will be 'd'
etc...
编辑:a foreach循环不是for循环
您可以使用include或require。
在ding.txt中的使该字符串成为一个数组。
这里是关于数组的文档:
所以应该是:
<?php
$top = include 'ding.txt';
foreach($top as $trick)
{
global $array;
foreach($array as $t)
{
echo "$t[1]"; //1 would echo the first array item
}
?>
虽然,如果您想循环遍历该文件中的一些变量,那么我会将这些变量声明为全局变量,以便您可以在包含ding.txt文件后循环遍历它们。
查看此资源中的全局变量,并更好地理解作用域,这就是您的问题所在:
全局,范围文档