这段代码效果很好。我唯一可以弄清楚如何做到这一点是将其转换为数组。我有26到38行(这个数字不同)我想要做的是让它将每行结果转换成自己的数组。
$row[1] col1, col3, col4, col5, col8
$row[2] col1, col3, col4, col5, col8
$row[3] col1, col3, col4, col5, col8
然后我希望能够像这样访问每个结果:echo $ row [1];我怎么能这样做,怎么知道什么时候结束?
<?php
$a = file_get_contents( "t_rac.txt" );
$a = str_replace( array( "\r\n" , "\t" ) , array( "[NEW*LINE]" , "[tAbul*Ator]" ) , $a );
foreach( explode( "[NEW*LINE]" , $a ) AS $lines ) {
foreach( explode( "[tAbul*Ator]" , $lines ) AS $li ) {
if (strpos($li,',') !== false)
{
}
else {
echo $li;
}
echo "<br>";
}
}
?>
答案 0 :(得分:1)
<?php
//use file to get array of lines
$arrayContent=file("t_rac.txt");
$returnArray=array();
$i=0;
foreach($arrayContent as $row){
$returnArray[$i++]=explode(",\t", $row);
}
?>
因此,您拥有多维数组。您可以像使用它一样使用它:
echo $returnArray[0][3]; //prints single col5 value
echo implode(",\t", $returnArray[0]); //prints col1, col3, col4, col5, col8
修改强> 确保你在cols之间有标签。
t_rac.txt内容:
$row[1] col1, col3, col4, col5, col8
$row[2] col1, col3, col4, col5, col8
$row[3] col1, col3, col4, col5, col8
答案 1 :(得分:0)
这将构建一个数字1到10的php数组:
$a = array();
for ($i=1; $i<=10; $i++) {
$a[] = $i;
}
[]
表示法会自动附加到数组的末尾,不需要下标
请注意,php explode
会返回一个数组,因此您已经拥有了cols数组。要从头开始省略行[],请在数组上使用array_shift($a)