Очистка URL и отображение вывода — получение вывода в виде массива $ вместо значения

Я новичок в кодировании PHP, но знаком с механизмом. Мне нужен плагин для получения котировок из ASX (Австралийская фондовая биржа) для любого символа компании, указанного в шорткоде.

Я выполнил код и загрузил плагин в WordPress, а во внешнем интерфейсе вместо того, чтобы показывать цену на символ компании, он выводит в виде «$ Array», а не значение.

Пожалуйста, посмотрите:

Это мой код:

add_shortcode( 'asx-prices', 'asx_prices_shortcode' );

function asx_prices_shortcode( $atts ) {

extract( shortcode_atts( array(
'symbol'        => '',
), $atts ) );

// Obtain Quote Info
$data = file_get_contents( 'http://www.asx.com.au/asx/markets/priceLookup.do?by=asxCodes&asxCodes='. "{$symbol}" );

preg_match('/<td class="last">(.*)<\/td>/i', $data, $quote);

$output .= '<div class="asx_prices_symbol">Symbol: '. "{$symbol}" .'</div>';
$output .= '<div class="asx_prices_quote">Latest Price: $'. $quote .'</div>';

return $output;

}

И это вывод:

Symbol: QVE
Latest Price: $Array
Symbol: QVEO
Latest Price: $Array

И это ожидаемый результат:

Symbol: QVE
Latest Price: 0.985
Symbol: QVEO
Latest Price: 0.038

Это мой первый пост о переполнении стека, я хочу больше вникать в PHP, поэтому я начал сегодня, и в будущем мне понадобится больше помощи экспертов.
Спасибо за ваше время.

0

Решение

preg_match возвращает массив. скорее всего $quote[0] вернет цену.

попробуй сделать print_r($quote); и видеть, находится ли желаемый результат в массиве и где он находится.

0

Другие решения

preg_match положить результаты в $quote переменная, создающая массив.
Вы найдете свою ценность внутри $quote[1],

http://php.net/manual/en/function.preg-match.php

0

По вопросам рекламы [email protected]