我想知道如何阅读文件。下面是我执行的代码,但是得到了错误的答案。我的文件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]";
}
}
?>
答案 0 :(得分:0)
出于教育目的,我不会更改您的代码。
有了这个,你可以在你的浏览器中看到发生了什么:(带括号,你不能错过白色空格)
$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...
编辑:foreach循环不是for循环
答案 1 :(得分:-2)
您使用include或require。
在ding.txt中的使该字符串成为一个数组。
以下是关于数组的文档:array documentation
所以它应该是:
<?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文件之后循环它们。
查看此资源以获取全局变量,并更好地了解范围,这就是您的问题所在: