Назначить значение массива переменной в PHP

0

Я думал, что это непростая задача, но, видимо, нет.

   $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] метку, я просто делаю $matches_out[0] потому что я могу видеть ее прямо там, на нулевом индексе, или я что-то $matches_out[0].

Попытка повторить это Notice: Array to string conversion in C:\xampp\htdocs\myscript.php on line 10 меня: Notice: Array to string conversion in C:\xampp\htdocs\myscript.php on line 10

  • 0
    Я не совсем понимаю вопрос, но да, $ timestamps теперь массив, когда вы делаете эхо, он будет отображать ошибку
  • 0
    но я думал, что вы можете получить строку из массива, используя номер индекса, см. здесь: stackoverflow.com/a/16876209
Показать ещё 2 комментария
Теги:
arrays

3 ответа

1
Лучший ответ

$matches_out - многомерный массив. Таким образом, ваш правильный код будет выглядеть как $matches_out[0][0]. Проверьте ваш массив снова, чтобы убедиться, что вы получили правильное значение.

См. Preg_match_all

  • 0
    Как сохранить это значение в переменной не только для отображения, но и для выполнения математических операций?
  • 0
    Пожалуйста, используйте $ var_name = $ match_out [0] [0];
1

$ timestamp - массив. Поэтому вместо

echo $timestamp;

делать

echo $timestamp[0];

И еще раз, если вы не хотите иметь индексы:

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

Вы вызываете неправильный элемент, временная метка, которую переменная стала массивом, вызывает ее так же, как это

$timestamp[0]
  • 0
    Есть ли способ назначить это, $ timestamp [0] на фактическую переменную, чтобы я мог избежать использования индексов ...? Или, если я хочу сказать, выполнить математическую операцию с временной меткой, которую я должен использовать, $myResult = $timestamp[0] - 100; потому что выше только что получает меня -100

Ещё вопросы

Сообщество Overcoder
Наверх
Меню