Php 使用foreach从多维数组中访问不同的数组值
我使用foreach循环创建了一个数组,结果循环如下:Php 使用foreach从多维数组中访问不同的数组值,php,arrays,foreach,Php,Arrays,Foreach,我使用foreach循环创建了一个数组,结果循环如下: array(8) { [0]=> array(3) { ["shortdesc"]=> object(SimpleXMLElement)#63 (1) {...} ["longdesc"]=> object(SimpleXMLElement)#58 (1) {...} ["price"]=> object(SimpleXMLElement)#64 (1)
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作为$innerArray){
foreach($innerArray作为$value){
回显“美元价值” ”;
}
}
我可以回显数组的所有内容,但我希望能够将不同的数组部分分配给变量
因此:
foreach($optionsArray作为$innerArray){
foreach($innerArray作为$value){
echo“$value->price$value->longdesc ”;
}
}
我知道$value不是一个对象,但我该如何做我正在寻找的事情呢?谢谢。foreach($optionsArray作为$innerArray)
foreach ($optionsArray as $innerArray)
{
echo "<li>" . $innerArray['price'] . " " . $innerArray['longdesc'] . "</li>";
}
{
echo“”$innerArray['price']”..$innerArray['longdesc']”.“ ”;
}
试试这样的方法
foreach ($optionsArray as $innerArray) {
$object = (object) $innerArray;
echo $object->price;
}
无需使用innerArrayforeach循环,只需尝试以下代码:
foreach($optionsArray作为$innerArray)
{
echo$innerArray['price']。“
”;
echo$innerArray['longdesc']。“
”;
}
为什么要使用内部foreach
循环?我认为在创建数组时出现了一些问题。我想知道为什么数据被分割成不同的对象。能否显示创建此数组的代码?严格来说,$value
是SimpleXMLElement类型的对象,因此它是一个对象。只是当在字符串内部使用或与echo等一起使用时,它会自动转换为字符串。仅供参考。通过阅读PHP手册中的SimpleXML教程,您可能会受益匪浅:它涵盖了您所问的问题和一些更好的提示。
foreach ($optionsArray as $innerArray) {
$object = (object) $innerArray;
echo $object->price;
}
foreach ($optionsArray as $innerArray)
{
echo $innerArray['price']."<br>";
echo $innerArray['longdesc']."<br>";
}