转换变量到字符串没有发生

时间:2014-01-28 18:46:19

标签: php

我想将变量(即$ spider_array)的内容写入我的php脚本所在的同一文件夹中的.txt文件中。我可以运行脚本,但是数组到字符串的转换根本没有发生。这是一个网址收集脚本。

part of the script

从$ SEED_URL

获取链接
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);

2 个答案:

答案 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)