【发布时间】:2015-03-14 01:20:42
【问题描述】:
我正在尝试迭代 stdClass 对象中数组中保存的 img 数据。我已经能够让 stdClass 做我希望的所有其他事情,试图让图像序列/迭代出来让我望而却步。我查看了 php.net 并通读了堆栈以获取我可以理解的答案,这解释了我所遇到的错误,除了没有成功地用谷歌搜索答案。我现在很困惑,尝试了很多很多东西都没有成功。
$myObj = new stdClass;
$myObj->image=['x01.jpg', 'x02.jpg', 'x03.jpg', 'x04.jpg', 'x05.jpg'];
$myObj->name="asdfg";
$myObj->phone="exaasdfaspg";
$myObj->email="exsdfg";
$myObjArray[] = $myObj;
foreach($myObjArray as $myObj)
{ echo '<img src="_imgResevior/' . $myObj->image[] . '"/>' ;}
#{ echo (in_array('<img src="_imgResevior/' . $myObj->image['image'] . '"/>')) ;}
【问题讨论】:
-
$myObj->image[]无效,除非您附加到数组,即$myObj->image[] = 'newfile.jpg';。使用$myObj->image[0]或您尝试访问的任何元素。或foreach ($myObj->image as $image) { ... }在您的第一个foreach中。请注意,如果您希望使用最初在foreach之后声明的$myObj,那么重复使用变量名 ($myObj) 也会导致不可预知的结果。 -
试试
foreach($myObj->image as $myObjArray ) -
问题不清楚,请说明在迭代数组方面有什么不清楚的地方?
-
@sjagr 纠正了
foreach的错误,我认为你对答案投了反对票
标签: php arrays object foreach stdclass