json_decode($ var)和(object)之间的区别json_decode($ var,true)

Ana*_*ant 5 php joomla json virtuemart

json_decode($ var)和(object)json_decode($ var,true)之间有什么区别吗?

虽然最近在Joomla virtuemart的某些代码中工作,但我遇到了一个困惑的局面.Virtumart对其cartObject使用(对象)json_decode($ var,true),如果我将其更改为简单的json_decode($ var),则之后会显示一些错误.在进一步调试时,我发现购物车结构如下:

stdClass Object
(
    [cartProductsData] => Array
        (
        )
    [vendorId] => 0
    [automaticSelectedShipment] => 
    [automaticSelectedPayment] => 
    [order_number] => 
    [BT] => Array
        (
        )
    [ST] => Array
        (
        )
)
Run Code Online (Sandbox Code Playgroud)

虽然在更改代码时,即json_decode($ var),但结果是:

stdClass Object
(
    [cartProductsData] => Array
        (
        )
    [vendorId] => 0
    [automaticSelectedShipment] => 
    [automaticSelectedPayment] => 
    [order_number] => 
    [BT] => stdClass Object
        (
        )
    [ST] => stdClass Object
        (
        )
)
Run Code Online (Sandbox Code Playgroud)

所以BT和ST现在是对象,而不是早期的数组,但是如何?任何解释将不胜感激.