如何在创建数组时使用foreach循环

时间:2016-05-20 10:41:12

标签: php arrays xml foreach

我正在创建一个名为$subArray的数组。这个数组必须用$child->getName() => $child填充,从XML文档中获取。

$subArray = array(
  foreach($person->children() as $child){
    $child->getName() => $child;
  }
);

但这似乎不起作用,因为我在使用=>时无法使用array_push,并且我无法在数组中使用foreach循环。我该如何解决这个问题?

这是我的全部功能:

function get_xml_arr($xmlURL){

  $xml=simplexml_load_file($xmlURL) or die ("XML not found");

  $array = array();

  foreach($xml->person as $person){
    $subArray = array(
      foreach($person->children() as $child){
        $child->getName() => $child;
      }
    );
    array_push($array, $subArray);
  }

  return $array;

}

1 个答案:

答案 0 :(得分:2)

您可以使用$ child-> getName()作为数组的索引

$subArray = array();
foreach($xml->person as $person) {
   foreach($person->children() as $child) 
      $subArray[$child->getName()] = $child;
   $array[] = $subArray;
}