Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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 - Fatal编程技术网

Php 打开文本文件读取逗号分隔的值

Php 打开文本文件读取逗号分隔的值,php,Php,我有以下代码: $pollids = "pollids.txt"; $contents = file_get_contents($pollids); list($pollid) = explode(',', $contents); echo $pollid; 这将打开一个包含逗号分隔的文本列表的文本文件:value1、value2、value3等 然而,它只是文件中的第一段文本。我怎样才能让它循环/取回它们 其次,一旦我有了这些值(可能存储在数组中),我可以将它们输入到这段脚本中吗 $sum

我有以下代码:

$pollids  = "pollids.txt";
$contents = file_get_contents($pollids);
list($pollid) = explode(',', $contents);
echo $pollid;
这将打开一个包含逗号分隔的文本列表的文本文件:value1、value2、value3等

然而,它只是文件中的第一段文本。我怎样才能让它循环/取回它们

其次,一旦我有了这些值(可能存储在数组中),我可以将它们输入到这段脚本中吗

$summize = new summize;
$search = $summize->search('searchterm');
$text = $search->results[0]->text;
所以('searchterm')被文件中的每个值替换?我再次怀疑一个循环中存在某种循环?

试试这个:

$pollids  = "pollids.txt";
$contents = file_get_contents($pollids);
$pollfields = explode(',', $contents);

echo $pollfields[0]; // Prints the value in first "cell"
echo $pollfields[1]; // The second
echo $pollfields[2]; // And so on
或者,在循环中:

foreach($pollfields as $field) {
    echo $field;
}
explode
创建一个由
分隔的字段数组,因此
$pollfields
是这些字段的数组,您可以像这样将它们馈送到第二个代码段:

$summize = new summize;
foreach($pollfields as $field) {
    $search = $summize->search($field);
}
$text = $search->results[0]->text;
如果不知道更多的
summize
的工作原理,这应该是您所需要的。

尝试以下方法:

$pollids  = "pollids.txt";
$contents = file_get_contents($pollids);
$pollfields = explode(',', $contents);

echo $pollfields[0]; // Prints the value in first "cell"
echo $pollfields[1]; // The second
echo $pollfields[2]; // And so on
或者,在循环中:

foreach($pollfields as $field) {
    echo $field;
}
explode
创建一个由
分隔的字段数组,因此
$pollfields
是这些字段的数组,您可以像这样将它们馈送到第二个代码段:

$summize = new summize;
foreach($pollfields as $field) {
    $search = $summize->search($field);
}
$text = $search->results[0]->text;
如果不知道更多的
summize
的工作原理,这应该是您所需要的。

使用

编辑:
explode
如果值包含引号中的逗号等,则不起作用。

使用

编辑:
explode
如果值包含引号中的逗号等,则该函数无效。

请检查该函数

这段代码也来自该文档页:(示例#1读取并打印CSV文件的全部内容)


查看该功能

这段代码也来自该文档页:(示例#1读取并打印CSV文件的全部内容)


$pollids=“pollids.txt”;
$contents=file\u get\u contents($pollids);
$results=preg_split(“/\s+|,/”,$contents);
$summaze=新的summaze;
对于($i=0;$isearch($results[$i]);
$text[$i]=$search[$i]->results[$i]->text;
}
打印(结果);
打印(搜索);
打印(文本);
$pollids=“pollids.txt”;
$contents=file\u get\u contents($pollids);
$results=preg_split(“/\s+|,/”,$contents);
$summaze=新的summaze;
对于($i=0;$isearch($results[$i]);
$text[$i]=$search[$i]->results[$i]->text;
}
打印(结果);
打印(搜索);
打印(文本);
$fantasy5=explode(“,”,file\u get\u contents($\u SERVER['DOCUMENT\u ROOT'].“/numbers.txt”)

洗牌($5)

对于($num=1;$num$fantasy5=explode(“,”,文件获取内容($\u服务器['DOCUMENT\u ROOT'].“/numbers.txt”)

洗牌($5)


为了($num=1;$num转义引号与
explode
在逗号处拆分字符串的功能有什么关系?对不起,我是指引号中的逗号。转义引号与
explode
在逗号处拆分字符串的功能有什么关系?对不起,我是指引号中的逗号。@Tatu在CSV文件中,为了有包含逗号的字段,quotation标记用于保存字段数据,如下所示:
第一个值,“第二个,值”,第三个值
如果使用explode,将得到以下结果:
数组('first value','second','value','third value')
这根本不是期望的结果。
fgetcsv
可能是这个答案要实现的方向。explode不起作用file\u get\u contents只返回一个数组元素使用
explode
到底是怎么回事?记住这不是我的主意,我只是扩展了OP自己的代码t使用了一个
explode
。如果我理解正确,这个问题与如何正确打开CSV文件或如何返回文件的所有行无关。我们不知道OP的源材料是什么样子,它可能只是一行用逗号分隔的数字,在这种情况下,我的答案是完全正确的。“逗号分隔”这并不一定意味着CSV文件。不过多亏了投票人。@StreetParader,文件内容不返回任何数组元素,而是返回一个字符串。你在说什么?Tatu-我的问题的完美解决方案,你的正确答案是文件是一个带有一行数字的文本文件,而不是CSV文件。在这种情况下,这就是答案。噢,a在CSV文件中,@Tatu,为了有包含逗号的字段,引号用于保存字段数据,如:
first value,“second,value”,third value
如果使用explode,您将得到以下结果:
array('first value','second','value','third value')
这根本不是期望的结果。
fgetcsv
可能是这个答案要实现的方向。explode不起作用file\u get\u contents只返回一个数组元素使用
explode
到底是怎么回事?记住这不是我的主意,我只是扩展了OP自己的代码t使用了一个
explode
。如果我理解正确,这个问题与如何正确打开CSV文件或如何返回文件的所有行无关。我们不知道OP的源材料是什么样子,它可能只是一行用逗号分隔的数字,在这种情况下,我的答案是完全正确的。“逗号分隔”这并不一定意味着CSV文件。不过多亏了投票人。@StreetParader,文件内容不返回任何数组元素,而是返回一个字符串。你在说什么?Tatu-我的问题的完美解决方案,你的正确答案是文件是一个带有一行数字的文本文件,而不是CSV文件。在这种情况下,这就是答案。噢,a而且有效!