我正在使用file_get_contents()来检索我存储在.txt文件中的县的列表。每个县都有自己的路线。php - file_get_contents()或类似的函数
有没有一种方法可以在每个条目周围添加引号,然后在函数内部添加一个逗号?我的一个限制是它必须在函数内部填充,并且不能是两个单独的命令。
可以这样做吗?
或者我需要看看另一个功能呢?
我正在使用file_get_contents()来检索我存储在.txt文件中的县的列表。每个县都有自己的路线。php - file_get_contents()或类似的函数
有没有一种方法可以在每个条目周围添加引号,然后在函数内部添加一个逗号?我的一个限制是它必须在函数内部填充,并且不能是两个单独的命令。
可以这样做吗?
或者我需要看看另一个功能呢?
$countries = file('countries.txt'); // get country list into an array
$fixed_countries = array_map(function($v) { return '"' . trim($v) . '",'; }, $countries);
我继续使用批处理脚本来重新填充我的列表,并用适当的引号和逗号重新导入文件到服务器,然后使用file()来填充数组,像一个魅力工作。谢谢 – Mechaflash
当然。
$countries = explode("\n",'"'.str_replace("\n","\",\n\"",file("countries.txt")));
这应该是这样的转换文件:
country1
country2
...
到像这样的数组:
array('"country1",','"country2",',...).
这就是你想要的,对不对?
这样做的结果是'array(0 =>'“Array')'因为你正在将一个数组附加到一个字符串中。 – DaveRandom
你可以做到这一点很容易地,如果你使用的file
代替file_get_contents
它甚至更好:
$callback = create_function('$c', 'return "\"".trim($c)."\"";');
$countries = array_map($callback, file('countries.txt'));
return implode(', ', $countries);
我写$callback
有语法是有效的PHP < 5.3;它也可以把它写成匿名函数:
$callback = function($c) { return '"'.trim($c).'"'; };
Downvoter:请帮我改进这个答案,发表评论 – Jon
为什么你能不能用两个函数? – 472084
'我有一个限制是它必须在函数内部填充 - 为什么?你想在这里得到的最终结果是什么 - 你是在写CSV还是什么? – DaveRandom
你是什么意思两个单独的命令? – xdazz