【发布时间】:2021-05-09 06:13:17
【问题描述】:
我有一个名为 data.txt 的文件,其中包含以下内容:(三个组,每组包含三辆汽车)
"audi,bmw,mercedes#volvo,fiat,seat#peugeot,..."
等等,你懂的。
用 # 用 php explode() 分割“组”效果很好。但是,当我尝试按 komma 拆分组时,它不会按我想要的方式工作:
对于“$tablerow[0][1];”我只得到字母“u”(第二个字母)而不是“bmw”(第二个单词)。
我的错误在哪里(代码如下)?
$index_number 只计算这些组的数量。
$datafile = fopen("data.txt","r"); <br>
$alldata = fread($datafile,filesize("data.txt")); <br>
$tablerow = explode("#",$alldata); <br>
for ($arrayposition = 0; $arrayposition <= $index_number; ++$arrayposition) { <br>
for ($tablerowindex = 0; $tablerowindex <= 3; ++$tablerowindex) { <br>
$tablecolumn = explode(",",$tablerow[$tablerowindex]); <br>
} <br>
} <br>
echo $tablerow[0][1];
【问题讨论】:
-
您似乎在正斜杠
/而不是逗号,上爆炸 -
谢谢,已经编辑好了!只是将代码复制到stackoverflow的问题,但不幸的是没有解决我的问题;)
-
您是否在
echo $tablerow[0][1];中错误地使用了$tablerow而不是$tablecolumn? -
$tablerow 是“外部”数组(第一级),而 tablecolumn 是“内部”。如果我想在一个数组中寻址一个数组,我需要使用外部数组并指定位置,据我所知。然而,尝试 $tablecolumn 会引发错误:“警告:未初始化的字符串偏移量 1”
-
顺便说一句:如果我尝试
$tablerow[0];我会得到整个“第一组”
标签: php arrays multidimensional-array split explode