Я использую file_get_contents (), чтобы получить список округов, которые я сохранил в файле .txt. Каждый округ находится на своей линии.
Есть ли способ добавить кавычки вокруг каждой записи, а затем запятую после нее в функции? У меня есть одно ограничение: оно должно заполняться внутри функции и не может быть двумя отдельными командами.
Можно ли это сделать?
Или, может быть, мне нужно посмотреть другую функцию для этого?
$countries = file('countries.txt'); // get country list into an array $fixed_countries = array_map(function($v) { return '"' . trim($v) . '",'; }, $countries);
Вы можете сделать это довольно легко, и даже лучше, если вы используете file вместо file_get_contents:
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;его также можно написать как анонимную функцию: </p>
$callback
$callback = function($c) { return '"'.trim($c).'"'; };
Посмотреть в действии .
Если вы читаете что-то построчно, file более подходит, чем file_get_contents:
echo implode(',', array_map(function($county) {return '"' . trim($county) . '"';}), file('counties.txt'));
Конечно.
$countries = explode("\n",'"'.str_replace("\n","\",\n\"",file("countries.txt")));
Это должно конвертировать файл так:
country1 country2 ...
в массив, подобный этому:
array('"country1",','"country2",',...).
Это то, что вы хотите, верно?