在PHP中将数组值分配给变量

时间:2015-02-03 13:49:48

标签: php arrays

我认为这是一件容易的事,但显然不是。

   $dom = new DOMDocument();
   $dom->loadHTMLFile("myhtml.html");
   $timestamp = $dom->getElementById('timestamp');
   $timestamp = $dom->saveHTML($timestamp);
   $matches_out = array();
   if (preg_match_all('/<div id="timestamp">(.*)<\/div>/', $timestamp, $matches_out)) {
  $timestamp = $matches_out[0];
  }
  echo $timestamp;

我需要从数组中获取值并将其存储在$timestamp变量中。当我使用print_r()时,我得到Array ( [0] =>1422936994)。我认为这意味着得到我的时间戳我只做$matches_out[0]因为我可以在零指数上看到它,或者我错过了什么。

试图回应它让我这样:Notice: Array to string conversion in C:\xampp\htdocs\myscript.php on line 10

3 个答案:

答案 0 :(得分:1)

$ timestamp是一个数组。 而不是

echo $timestamp;

DO

echo $timestamp[0];

如果你不想要索引,那么又一次:

$newTimestamp = $timestamp[0];
echo $newTimestamp;

答案 1 :(得分:1)

$matches_out是多维数组。所以你的正确代码就像$matches_out[0][0]。请再次检查您的阵列,以确保您获得正确的值。

请参阅preg_match_all

答案 2 :(得分:0)

您正在调用错误的项目,时间戳变量已成为数组 像这样称呼它

$timestamp[0]