Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php在选项卡分隔文件中循环_Php_Arrays_Fopen - Fatal编程技术网

php在选项卡分隔文件中循环

php在选项卡分隔文件中循环,php,arrays,fopen,Php,Arrays,Fopen,这段代码非常有效。我唯一能想到的方法就是将其转换为数组。我有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 = f

这段代码非常有效。我唯一能想到的方法就是将其转换为数组。我有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>";
    }  
} 
?>

这将构建一个数字为1到10的php数组:

$a = array();
for ($i=1; $i<=10; $i++) {
    $a[] = $i;
}
$a=array();
对于($i=1;$i)
编辑
确保Col之间有标签

t_rac.txt内容:

 $row[1]    col1,   col3,   col4,   col5,   col8
 $row[2]    col1,   col3,   col4,   col5,   col8
 $row[3]    col1,   col3,   col4,   col5,   col8

您已经有了
foreach
,并且分解了字符串,如果您愿意,您可以将它们重新分配到另一个字符串中。我如何确定行的结尾发生?只需检查第一次分解的计数,这将使您有许多行,该数字将确定您是否在末尾。或者在结束后处理在foreach旁边,这应该是end这正是我要找的…但是我得到了一个错误通知:未定义的偏移量:第17行的/home1/donavons/public_html/php/index.php中的3这是第17行和第18行
echo$returnArray[0][3];echo内爆(,\t“,$returnArray[0]”)
抱歉,数组名称中有一个输入错误,但请确保列之间有制表符。谢谢@Grzegorz Krauze立即尝试谢谢@Andras我忘了是爆炸造成的!
echo $returnArray[0][3]; //prints single col5 value
echo implode(",\t", $returnArray[0]); //prints col1, col3, col4, col5, col8
 $row[1]    col1,   col3,   col4,   col5,   col8
 $row[2]    col1,   col3,   col4,   col5,   col8
 $row[3]    col1,   col3,   col4,   col5,   col8