Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用foreach从多维数组中访问不同的数组值_Php_Arrays_Foreach - Fatal编程技术网

Php 使用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)

我使用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作为$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>";
    }