Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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/9/ssl/3.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 使用“%定义fscanf的格式”s\t\t_Php - Fatal编程技术网

Php 使用“%定义fscanf的格式”s\t\t

Php 使用“%定义fscanf的格式”s\t\t,php,Php,嘿伙计们希望你们能帮我 我对php比较陌生,尝试读取格式化为php的文件 asdf , asdf , asdf i、 e一个字符串后跟一个制表符、逗号和另一个制表符,然后是另一个字符串后跟一个制表符、逗号和另一个制表符,然后是另一个字符串,最后是行尾(如果有另一行) 我正在(从这里)学习正则表达式,但不认为它们在fscanf中应用正则表达式 基本上我的代码是 $file=fopen("sites.txt","r"); while($line=fscanf($file,"..

嘿伙计们希望你们能帮我

我对php比较陌生,尝试读取格式化为php的文件

asdf    ,   asdf    ,   asdf
i、 e一个字符串后跟一个制表符、逗号和另一个制表符,然后是另一个字符串后跟一个制表符、逗号和另一个制表符,然后是另一个字符串,最后是行尾(如果有另一行)

我正在(从这里)学习正则表达式,但不认为它们在fscanf中应用正则表达式

基本上我的代码是

$file=fopen("sites.txt","r");
while($line=fscanf($file,"...")){
    list($a,$b,$c)=$line;
echo "$a    $b    $c   <br>";


}
$file=fopen(“sites.txt”、“r”);
而($line=fscanf($file,“…”)){
列表($a、$b、$c)=$line;
回声“$a$b$c
”; }
所以基本上,我需要的是关于应该用什么来代替“…”的帮助,以及关于其工作原因的解释。我在谷歌上搜索了很长一段时间,似乎找不到我要找的东西。谢谢。

在这种情况下使用。它对于逐行读取文件很有用。使用函数提取列值(如果分隔符太花哨,则使用
preg\u split
):

$file=fopen(“sites.txt”、“r”);
while(($line=fgets($file))!==false){
列表($a、$b、$c)=分解(“\t、\t”,$line,3);
回声“$a$b$c
”; }
使用fgetcsv()拆分逗号上读取的每一行,然后遍历结果数组并修剪选项卡

$file = fopen("sites.txt", "r"); 

function myTrim(&$item) {
    $item = trim($item);
}


while(($line = fgetcsv($file)) !== false) { 
    array_walk($line,'myTrim');
    list($a, $b, $c) = $line; 
    echo "$a $b $c<br>"; 
} 
$file=fopen(“sites.txt”、“r”);
功能myTrim(&$item){
$item=修剪($item);
}
而(($line=fgetcsv($file))!==false){
数组_walk($line,'myTrim');
列表($a、$b、$c)=$line;
回声“$a$b$c
”; }

$file=fopen(“sites.txt”、“r”);
而(($line=fgetcsv($file))!==false){
数组_walk($line),
功能(&$item){
$item=修剪($item);
}
);
列表($a、$b、$c)=$line;
回声“$a$b$c
”; }
您可以使用正则表达式:

<?php
$matches = array();
preg_match_all("/(.+),(.+),(.+)/i",file_get_contents('sites.txt'),$matches);

foreach($matches[0] as $key=>$val){
  print "{$matches[1][$key]}  {$matches[2][$key]} {$matches[3][$key]}<br />";
}

$file = fopen("sites.txt", "r"); 
while(($line = fgetcsv($file)) !== false) { 
    array_walk($line,
        function (&$item) {
            $item = trim($item);
        }
    );
    list($a, $b, $c) = $line; 
    echo "$a $b $c<br>"; 
} 
<?php
$matches = array();
preg_match_all("/(.+),(.+),(.+)/i",file_get_contents('sites.txt'),$matches);

foreach($matches[0] as $key=>$val){
  print "{$matches[1][$key]}  {$matches[2][$key]} {$matches[3][$key]}<br />";
}