Я думал, что это непростая задача, но, видимо, нет.Назначить значение массива переменной в PHP
$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
я действительно не понимаю вопрос, но да, $ временных меток теперь массив, когда вы делаете эхо, он будет отображать ошибку – onegun
, но я думал, что вы могли бы получить строку из массива с использованием индекса номер, см. здесь: http://stackoverflow.com/a/16876209 – LSD
, если вы посмотрите на документацию preg_match_all(), тогда вы поймете, что $ matches_out - это массив всех совпадений в многомерном массиве, упорядоченный по флагам. поэтому, пожалуйста, не ожидайте, что $ matches_out [0] теперь является строкой – onegun