从 Php 数组创建字符串并将其写入文本文件

Creating a string from a Php array and writing it to a text file

我有一个这样的数组:

Array
(
    [0] => firstname1,
    [1] => lastname1,
    [2] => firstname2,
    [3] => lastname2,
    [4] => firstname3,
    [5] => lastname3
)

现在我想创建一个包含以下内容的文本文件:

firstname1|lastname1#firstname2|lastname2#firstname3|lastname3#

我该怎么做?

$array = array(
    'firstname1',
    'lastname1',
    'firstname2',
    'lastname2',
    'firstname3',
    'lastname3'
);
$str = implode('@', $array) . '@';
$str = preg_replace('/(.+?)@(.+?)@/', '|#', $str);
file_put_contents('/tmp/file.txt', $str);

编辑灵感来自:,以及之前的内容。

您可以成对地遍历数组,与您选择的字符连接,构建一个字符串,然后将其写入文件 file_put_contents

<?php
$names = array(
    'firstname1',
    'lastname1',
    'firstname2',
    'lastname2',
    'firstname3',
    'lastname3'
);

for(
    $i = 0, $n = count($names), $str = '';
    $i < $n;
    $i += 2
)
{
    $str .= $names[$i] . '|' . $names[$i+1] . '#';
}
file_put_contents('/tmp/names.txt', $str);

或者为了构建字符串,我们可以将原始数组分块成对:

$str = '';
foreach(array_chunk($names, 2) as list($first, $second))
    $str .= $first . '|' . $second . '#';