首页 > 解决方案 > 在php中解析stdClass对象的字符串

问题描述

我有一个 stdClass 对象字符串数组,但我无法正确解析字符串

我尝试了各种方法,但都给出了“获取非对象属性”的相同错误

foreach($response->Product->$x as $prod)
{
print $prod->Name;
print $prod->Price;
print $prod->Stock;
print $prod->SupplierName;
print $prod->CategoryName;
$x++;
}

//但是我的响应字符串是

stdClass Object ( 
[Product] => Array 
( [0] => stdClass Object
( [Id] => 2 [Name] => Green Shirt [Price] => 1800 [Stock] => 50 [SupplierName] => Ali Yar [CategoryName] => Jeans )
  [1] => stdClass Object
  ( [Id] => 7 [Name] => Red Shirt with Flowers [Price] => 2200 [Stock] => 40 [SupplierName] => Ali Yar [CategoryName] => Shirt )
  [2] => stdClass Object
  ( [Id] => 8 [Name] => Red Shirt with Flowers [Price] => 2200 [Stock] => 40 [SupplierName] => Ali Yar [CategoryName] => Shirt ) 
  [3] => stdClass Object
  ( [Id] => 9 [Name] => Check Shirt Yellow [Price] => 1100 [Stock] => 200 [SupplierName] => Ali Yar [CategoryName] => Shirt 
  )
 )
 ) 

我收到这些错误尝试获取为 foreach() 提供的非对象和无效参数的属性

标签: phpstringparsingstdclass

解决方案


您的代码不清楚,但我认为您必须foreach在此编辑

foreach($response->Product as $prod)
{
print $prod->Name;
print $prod->Price;
print $prod->Stock;
print $prod->SupplierName;
print $prod->CategoryName;
$x++;
}

推荐阅读