我想将变量(即$ spider_array)的内容写入我的php脚本所在的同一文件夹中的.txt文件中。我可以运行脚本,但是数组到字符串的转换根本没有发生。这是一个网址收集脚本。
part of the script
echo "Harvesting Seed URL \n";
$temp_link_array = harvest_links($SEED_URL);
$spider_array = archive_links($spider_array, 0, $temp_link_array);
$output = ($spider_array);
$output .= "";
$filename = date('Y_m_d_H_i_s') . '.txt';
$filepath = dirname(_FILE_);
file_put_contents ($filepath . '/' . $filename, $output);
答案 0 :(得分:0)
尝试更改
$output = ($spider_array);
$output .= "";
要
$output = implode("\r\n", $spider_array);
答案 1 :(得分:0)
如果需要转储比简单数组更复杂的结构,可以根据需要使用print_r,var_dump或var_export。 print_r和var_export有第二个参数,如果要将结果保存为字符串而不是打印到输出缓冲区,则可以将其设置为“true”; var_dump只会打印到输出缓冲区,以捕获该函数的输出,使用输出控制函数是必要的。
示例代码:
<?
$array = array( 1, '2', 'apple' );
$hash = array(
'a' => 1,
'b' => 'orange',
'c' => $array
);
$array_print_r = print_r($array, true);
$hash_print_r = print_r($hash, true);
$array_var_export = var_export($array, true);
$hash_var_export = var_export($hash, true);
?>
########### print_r results ###########
$array:
<?= $array_print_r ?>
$hash:
<?= $hash_print_r ?>
########### var_export results ###########
$array:
<?= $array_var_export ?>
$hash:
<?= $hash_var_export ?>
########### var_dump results ###########
$array:
<?= var_dump($array) ?>
$hash:
<?= var_dump($hash) ?>
示例输出: ########### print_r results ###########
$array:
Array
(
[0] => 1
[1] => 2
[2] => apple
)
$hash:
Array
(
[a] => 1
[b] => orange
[c] => Array
(
[0] => 1
[1] => 2
[2] => apple
)
)
########### var_export results ###########
$array:
array (
0 => 1,
1 => '2',
2 => 'apple',
)
$hash:
array (
'a' => 1,
'b' => 'orange',
'c' =>
array (
0 => 1,
1 => '2',
2 => 'apple',
),
)
########### var_dump results ###########
$array:
array
0 => int 1
1 => string '2' (length=1)
2 => string 'apple' (length=5)
$hash:
array
'a' => int 1
'b' => string 'orange' (length=6)
'c' =>
array
0 => int 1
1 => string '2' (length=1)
2 => string 'apple' (length=5)