За последние 24 часа нас посетили 49982 программиста и 1733 робота. Сейчас ищут 736 программистов ...

Помогите грамотно заполнить массив данными из xml файла.

Тема в разделе "PHP для новичков", создана пользователем Artur_hopf, 31 окт 2018.

  1. Artur_hopf

    Artur_hopf Старожил

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    Добрый день. Начал заполнять массив данными из xml файла, столкнулся с проблемой.
    PHP:
    1. $load = simplexml_load_file("test.xml");
    2.  
    3. $arrayXML = array();
    4.  
    5. foreach($load1->children() as $child){
    6.         $arrayXML[] = ['name'=>$child->DisplayName,
    7.                        'eMail'=>$child->eMail,
    8.                        'number'=>$child->Number,
    9.                        'location'=>'город'];
    10. }
    Отображаться должно 'name' => 'имя' . У меня в итоге 'name' => { 0 => 'имя'} .
    То есть после названия идет объект. Хотя если я напишу такое условие:
    PHP:
    1. if($child->DisplayName == 'имя'){
    2.   //true
    3. }
    То он прочтет что там написано и условие выполнится, как мне привести свой массив в вид name' => 'имя' без объекта после name, так пробовал сделать, толку нет:
    PHP:
    1. $arrayXML[] = ['name'=>$child->DisplayName{'0'}];
    Помогите пожалуйста.
    Xml фаил выглядит примерно так:
    Код (Text):
    1. <contact>
    2.      <Number>123</Number>
    3.      <DisplayName>имя</DisplayName>
    4.      <eMail>email</eMail>
    5. </contact>
     
  2. Artur_hopf

    Artur_hopf Старожил

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    Если решения не будет, заполню так:
    PHP:
    1. $arrayXML[] = ['name'=>$child->DisplayName,
    2.                        'eMail'=>$child->eMail,
    3.                        'number'=>$child->Number,
    4.                        'location'=>(object)['0'=>'город']];
    Мне главное привести к одному виду все поля