我试图在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'] . '"/>')) ;}
答案 0 :(得分:1)
foreach($myObjArray as $myObj)
{ echo '<img src="_imgResevior/' . $myObj->image[] . '"/>' ;}
应该是
foreach($myObj->image as $myObjArray )
{ echo '<img src="_imgResevior/' . $myObjArray . '"/>' ;}
输出html代码是
<img src="_imgResevior/x01.jpg">
<img src="_imgResevior/x02.jpg">
<img src="_imgResevior/x03.jpg">
<img src="_imgResevior/x04.jpg">
<img src="_imgResevior/x05.jpg">
答案 1 :(得分:0)
您无法以数组形式访问对象。如果您需要,您需要实现ArrayAccess Interface。
要让您的代码正常运行,只需将foreach
更改为:
foreach($myObj->image as $img)
{
echo '<img src="_imgResevior/' . $img . '"/>';
}