Получить только уникальные значения
Ломаю голову, как в
Кто сможет помочь разобраться?
<?php
$result = array();
foreach ($xml->offer as $offer) {
$result[content] = $offer->{'description'};
$result[building_section] = $offer->{'building-name'};
extract($result);
$doc = $modx->newObject('modDocument');
$doc->setContent($content);
$doc->save();
$id = $doc->get('id');
$resource = $modx->getObject('modResource', $id);
$resource->setTVValue('building_section', $building_section);
};
}
создать страницы из $building_section но не всех, а только уникальныхКто сможет помочь разобраться?
Комментарии: 8
array_unique не хочет тут работать
А что скрипт покажет, если сделать print_r($building_section);?
SimpleXMLElement Object ( [0] => Новые Горизонты ) SimpleXMLElement Object ( [0] => Панорамы залива ) SimpleXMLElement Object ( [0] => Leningrad ) SimpleXMLElement Object ( [0] => Созвездие ) SimpleXMLElement Object ( [0] => Морская звезда ) SimpleXMLElement Object ( [0] => Я-Романтик ) SimpleXMLElement Object ( [0] => Граффити ) SimpleXMLElement Object ( [0] => Озерный ) SimpleXMLElement Object ( [0] => Морская звезда ) SimpleXMLElement Object ( [0] => Чистое небо ) SimpleXMLElement Object ( [0] => Солнечный город ) SimpleXMLElement Object ( [0] => Солнечный город ) SimpleXMLElement Object ( [0] => Солнечный город ) SimpleXMLElement Object ( [0] => Солнечный город ) SimpleXMLElement Object ( [0] => Солнечный город ) SimpleXMLElement Object ( [0] => Солнечный город ) SimpleXMLElement Object ( [0] => МореОкеан )
Ну вот — вам надо сначала XML-объект «превратить» в обычный PHP-массив. Тогда уж и заработает array_unique
Извиняюсь за наглость, а можно подсказать функцию для преобразования?:(
А я сам так не скажу. Поищите в гугле XML to PHP array
Можно попробовать
$array = json_decode(json_encode($xml), true);
$array = json_decode(json_encode($building_section), true);
print_r($array);
Результат:
print_r($array);
Результат:
Array ( [0] => Новые Горизонты ) Array ( [0] => Панорамы залива )
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.