我使用foreach循环创建了一个数组,结果循环如下:
array(8) {
[0]=> array(3) {
["shortdesc"]=> object(SimpleXMLElement)#63 (1) {...}
["longdesc"]=> object(SimpleXMLElement)#58 (1) {...}
["price"]=> object(SimpleXMLElement)#64 (1) {...}
}
[1]=> array(3) {
["shortdesc"]=> object(SimpleXMLElement)#67 (1) {...}
["longdesc"]=> object(SimpleXMLElement)#62 (1) {...}
["price"]=> object(SimpleXMLElement)#68 (1) {...}
}
(...)
}
使用此数组和下面的foreach:
foreach ($optionsArray as $innerArray) {
foreach ($innerArray as $value) {
echo "<li>$value</li>";
}
}
我可以回显出数组的所有内容,但我希望能够将不同的数组部分分配给变量。
所以:
foreach ($optionsArray as $innerArray) {
foreach ($innerArray as $value) {
echo "<li>$value->price $value->longdesc</li>";
}
}
我知道$ value不是一个对象,但我怎么能做我想要的呢?感谢。
答案 0 :(得分:1)
尝试这样的事情
foreach ($optionsArray as $innerArray) {
$object = (object) $innerArray;
echo $object->price;
}
答案 1 :(得分:1)
无需使用 innerArray foreach循环,只需尝试下面的代码:
foreach ($optionsArray as $innerArray)
{
echo $innerArray['price']."<br>";
echo $innerArray['longdesc']."<br>";
}
答案 2 :(得分:0)
foreach ($optionsArray as $innerArray)
{
echo "<li>" . $innerArray['price'] . " " . $innerArray['longdesc'] . "</li>";
}