php覆盖stdClass数组中的值

时间:2014-10-13 11:40:37

标签: php

我有像这样的stdClass数组

stdClass Object
(
    [IS_ProductId] => 322
    [IS_ProductDesc] => 
    [IS_ProductName] => SMARTsite™ Setup/1x - 0699
    [IS_ProductPrice] => 699
)

假设我在变量$product中获取上述数组。 我想要做的是,我想覆盖第三个键值IS_ProductName

我想通过html_entity_decode传递它,但是当我这样做时,我收到错误消息Cannot use object of type stdClass as array

我试过了

$product->IS_ProductName = html_entity_decode($product[0]->IS_ProductName, ENT_QUOTES, 'utf-8');

我该如何解决?请帮忙..

3 个答案:

答案 0 :(得分:0)

从代码中删除[0],如下所示:

$product->IS_ProductName = html_entity_decode($product->IS_ProductName, ENT_QUOTES, 'utf-8');

$product是单个值而不是数组,因此不需要[0]引用。

答案 1 :(得分:0)

您说$productstdClass对象。如果是这样,您就不需要数组访问表示法[0]。你早先就行了。您的代码应如下所示:

$product->IS_ProductName = html_entity_decode($product->IS_ProductName, ENT_QUOTES, 'utf-8');

(如果你有一个stdClass个对象数组,那么你需要数组访问表示法。)

答案 2 :(得分:0)

<幻> @幻觉,是的,这是可能的!

您需要在$product->IS_ProductName函数中写$product[0]->IS_ProductName而不是html_entity_decode()

请查看以下工作代码。

$product->IS_ProductName = html_entity_decode($product->IS_ProductName, ENT_QUOTES, 'utf-8');

如果还有任何问题,请告诉我。