ошибка syntax error, unexpected T_VARIABLE

Доброго дня, помогите кто может (с PHP не знаком, но нужно решить проблему). Есть функция из модуля оплаты, необходимо чтобы в запрос на сервер летела сумма округленная до 2-х знаков после запятой. Погуглив нашел нужный инструмент, и объявил переменную и приравнял к исходному значению округленному формулой $totalR = round($total, 2); и в ‘sum’ указал $totalR, ошибка на сайте ParseError: syntax error, unexpected ‘$data’ (T_VARIABLE)
Я в целом неправильно делаю что то, или с синтаксисом вопросы?

было:

PHP:
  1. public static function create(WC_Order $order): WebPaymentRequest
  2. {
  3.     $total = (float) $order->get_total(‘edit’);  
  4.     $data = [
  5.         ‘shift’ => wp_date(‘dmY’),
  6.         ‘sum’ => $total,
  7.         ‘order_number’ => $order->get_id(),
  8.         ‘details’ => [
  9.             ‘items’ => [],
  10.             ‘amountTotal’ => $total,
  11.         ],
  12.     ];

стало:

PHP:
  1. public static function create(WC_Order $order): WebPaymentRequest
  2. {
  3.     $total = (float) $order->get_total(‘edit’);
  4.     [B]$totalR = round($total, 2);[/B]
  5.     $data = [
  6.         ‘shift’ => wp_date(‘dmY’),
  7.         ‘sum’ => [B]$totalR,[/B]
  8.         ‘order_number’ => $order->get_id(),
  9.         ‘details’ => [
  10.             ‘items’ => [],
  11.             ‘amountTotal’ => $total,
  12.         ],
  13.     ];
 

ббкоды [ B ] [ /B ] ты только на форуме поставил или они реально присутствуют где-то в коде? не должно быть такого!

 

было выделено жирным тут, само поставило, в коде такого нет

 

где было выделено жирным? проверь свой код, если там есть этот мусор — удали его. без этих лишних штук вроде всё норм. не должно быть ошибки.

unexpected трам-пара-рам обычно случается когда забыли точку с запятой в предыдущей строке,или скобку не закрыли, что-то в этом роде.

 

Вот вся страница с кодом, но как я понимаю дальнейший код не влияет на то что я правил, просто иногда летели суммы с многими знаками после запятой в запросе, я хотел в модуль вот воткнуть round, внизу выделил красным то что я добавил и заменил

<?phpdeclare(strict_types=1);

namespace Tolkam\Woocommerce\Gateway\Oplati\Client;

use Swagger\Client\Model\WebPaymentRequest;
use WC_Order;
use WC_Order_Item_Fee;
use WC_Order_Item_Product;
use WC_Order_Item_Shipping;

class WebPaymentRequestFactory
{
/**
* @param WC_Order $order
*
* @return WebPaymentRequest
*/
public static function create(WC_Order $order): WebPaymentRequest
{
$total = (float) $order->get_total(‘edit’);
$totalR = round($total, 2)
$data = [
‘shift’ => wp_date(‘dmY’),
‘sum’ => $totalR,
‘order_number’ => $order->get_id(),
‘details’ => [
‘items’ => [],
‘amountTotal’ => $totalR,
],
];

foreach ($order->get_items([‘line_item’, ‘fee’, ‘shipping’]) as $item) {

// regular product, not shipping or fee
if ($item instanceof WC_Order_Item_Product) {
$product = $item->get_product();

$data[‘details’][‘items’][] = [
‘type’ => $product->is_virtual() ? 2 : 1,
‘name’ => $item->get_name(),
‘quantity’ => $item->get_quantity(),
‘price’ => (float) $product->get_price(‘edit’),
‘cost’ => (float) $item->get_total(‘edit’),
];
}

if (
$item instanceof WC_Order_Item_Shipping
|| $item instanceof WC_Order_Item_Fee
) {
$data[‘details’][‘items’][] = [
‘type’ => 2,
‘name’ => $item->get_name(),
‘quantity’ => $item->get_quantity(),
‘cost’ => (float) $item->get_total(‘edit’),
];
}
}

foreach ($order->get_taxes() as $tax) {
$data[‘details’][‘taxes’][] = [
‘rate’ => (float) $tax->get_rate_percent(‘edit’),
‘sum’ => (float) $tax->get_tax_total(‘edit’)
+ (float) $tax->get_shipping_tax_total(‘edit’),
];
}

return new WebPaymentRequest($data);
}
}

 

@Метро2033, именно тот случай:

— Добавлено —
Ещё в первой строке пробела, или перехода на новую строку не хватает… Впрочем, это может быть только тут «криво» скопировано?

PHP:
  1. <?phpdeclare(strict_types=1);
 

Надеюсь только в точке с запятой дело, буду пробовать, спасибо
Криво скопировал, каюсь

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *