Как получить свойства объекта?

218
08 апреля 2017, 00:48

есть такой объект

object(SimpleXMLElement)#163 (14) { 
["@attributes"]=> array(3) { 
   ["available"]=> string(4) "true" 
   ["group_id"]=> string(9) "718708141" 
   ["id"]=> string(8) "31479124" } 
["url"]=> string(59) "http://bole-ro.com.ua/p31479124-plate-zhenskoe-dlinnoe.html" 
["price"]=> string(3) "380" 
["currencyId"]=> string(3) "UAH"
["categoryId"]=> string(7) "3421923" 
["picture"]=> array(8) { [0]=> string(61) "https://images.ua.prom.st/127308492_w640_h640_8w1s5dpa6ky.jpg" }

как можно получить свойство available свойства @attributes. учитывая что объект храниться в переменой offer пробовал так offer->@attributes->available получил ошибку

Answer 1

Есть метод attributes(), его и надо использовать, чтобы достать атрибуты.

Пример:

<?php
$string = <<<XML
<a>
 <foo name="one" game="lonely">1</foo>
</a>
XML;
$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}
?>

Результат выполнения данного примера:

name="one"
game="lonely"

Вам надо, соответственно, писать так:

offer->attributes()

и скорее всего достать значение можно будет так:

offer->attributes()->available
READ ALSO
ElasticSearch - сортировка по расстоянию от точки

ElasticSearch - сортировка по расстоянию от точки

Я использую Elasticsearch для поиска заведений по названиюМне нужно отсортировать результаты по количеству совпадений (_score) и расстоянию до координат...

271
Проверка ряда значений через empty

Проверка ряда значений через empty

Есть задача: нужно проверить на предмет наличия значений в ряде переменныхЕсть ли какой-то "человеческий" способ или каждую нужно перебирать...

203
Скрипт лайков на WordPress + Ajax

Скрипт лайков на WordPress + Ajax

Пытаюсь без сторонних плагинов сделать лайкиТак чтобы нажал один раз - "+1" лайк, нажал второй раз - "-1" лайк

308
Запись в массив

Запись в массив

Есть такой функционал

199