2015-02-08 4 views
1

Я новичок в php, я использую metro-websign для создания своего сайта. Существует плагин с массивом. Следующий код работает отлично:php - чтение данных из xml и создание объекта массива

<? php 
 
$photoNewsPath = array(
 
    "photo/committees/spirit-rock/20150203-anna.jpg", 
 
    "photo/news/20150207 - 100 day.jpg" 
 
); 
 

 
$photoNewsTitle = array("Post your photos on the website", "100 school day = pajama day fun"); 
 

 
var_dump($photoNewsPath); 
 

 
$tile[] = array(
 
    "type" => "slideshow", 
 
    "images" => $photoNewsPath, 
 
    "classes" => "");

Но когда я прочитал массив из файла XML:

<? php 
 
$photonews = simplexml_load_file("config\photonews.xml") or die("Error: Cannot create object"); 
 

 
foreach($photonews - > news as $news) { 
 
    $photoNewsPath[] = (string) $news - > path; 
 
} 
 

 
var_dump($photoNewsPath); 
 

 
$tile[] = array(
 
    "type" => "slideshow", 
 
    "images" => $photoNewsPath, 
 
    "classes" => ""); ?>

плагин больше не работает , Я использую var_dump для вывода массива из обоих фрагментов кода. Результаты идентичны. Что может сделать массивы разными, так что плагин php выходит из строя?

Любые подсказки?

+0

Rewrite вопрос заголовка вопроса. Они имеют противоположный смысл. В вопросе вы говорите о написании массива в XML-файле, но в заголовке вопроса вы говорите, что хотите прочитать xml-файл и создать массив из его содержимого. –

ответ

0

У вас есть ошибка в foreach. это правильный код доступа на <path></path> тега в XML

<?php 
$photonews = simplexml_load_file("config/photonews.xml") or die("Error: Cannot create object"); 
$photoNewsPath=array(); 
foreach($photonews as $key => $value) { 
$photoNewsPath[]= (string) $photonews->path; 
} 

// var_dump($photoNewsPath); 

$tile[] = array(
    "type" => "slideshow", 
    "images" => $photoNewsPath, 
    "classes" => ""); ?> 
Смежные вопросы