Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: ООП
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4234
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 43
1

Как получить значение свойства объекта в переменную?

20.03.2018, 14:49. Просмотров 656. Ответов 9
Метки нет (Все метки)

PHP
1
var_dump($obj);
Выводит:
PHP
1
object(SimpleXMLElement)#338 (1) { [0]=> string(6) "0.1818" }
Как передать это число "0.1818" в отдельную переменную из объекта?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2018, 14:49
Ответы с готовыми решениями:

Как получить значение из объекта класса stdClass?
Здравствуйте. Я обращаюсь к web-службе и получаю объект класса stdClass: $client = new...

Получить значение объекта
Всем привет, есть вот такой объект: ( => convertECB Object ( =>...

Получить значение из объекта класса
print_r($object); Выводит: Array ( => parser Object ( => Array ( => 1 ) => Array ( => Array...

Как можно сохранить экземпляр объекта в переменную другого класса?
Доброго вечера всем! Мне нужно сохранить класс в переменную другого класса, чтобы использовать...

Как получить значение свойства объекта?
вопрос в следующем $client = new...

9
andr-xw
121 / 76 / 32
Регистрация: 05.03.2013
Сообщений: 447
20.03.2018, 16:38 2
PHP
1
$str = ((array) $obj)[0];
0
MadHatter
129 / 125 / 46
Регистрация: 15.06.2013
Сообщений: 873
25.03.2018, 14:18 3
andr-xw, А зачем в массив превращать?
PHP
1
$str = $obj->0
0
andr-xw
121 / 76 / 32
Регистрация: 05.03.2013
Сообщений: 447
25.03.2018, 14:32 4
Цитата Сообщение от MadHatter Посмотреть сообщение
andr-xw, А зачем в массив превращать?
PHP
1
$str = $obj->0
И получишь ошибку парсинга.

Тогда уж так:
PHP
1
$str = $obj->{0}
0
25.03.2018, 14:32
MadHatter
129 / 125 / 46
Регистрация: 15.06.2013
Сообщений: 873
25.03.2018, 14:51 5
andr-xw, кстати говоря так тоже не работает. Возвращает налл. Ваш первоначальный вариант правильный.
0
andr-xw
121 / 76 / 32
Регистрация: 05.03.2013
Сообщений: 447
25.03.2018, 15:05 6
MadHatter, у меня сработал такой вариант:

PHP
1
2
$a = (object)[0 => 123];
var_dump($a->{0});
Bash
1
2
3
4
5
6
7
8
9
10
11
12
Андрей@DESKTOP-MAIN MINGW64 ~/Desktop
$ php -v
PHP 7.2.0 (cli) (built: Nov 28 2017 23:48:32) ( NTS MSVC15 (Visual C++ 2017) x64
 )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
    with Xdebug v2.6.0beta1, Copyright (c) 2002-2017, by Derick Rethans
 
Андрей@DESKTOP-MAIN MINGW64 ~/Desktop
$ php 1.txt
C:\Users\Андрей\Desktop\1.txt:3:
int(123)
0
MadHatter
129 / 125 / 46
Регистрация: 15.06.2013
Сообщений: 873
25.03.2018, 15:07 7
Я сейчас не дома, пробовал через несколько онлайн компиляторов и во всех возвращался налл в примерно таком коде:
PHP
1
2
$ob = (object)['a'];
var_dump($ob->{0});
0
Jewbacabra
Эксперт PHP
3968 / 3263 / 1415
Регистрация: 24.04.2014
Сообщений: 9,868
25.03.2018, 15:12 8
andr-xw, MadHatter, это известный баг php < 7.2
Если кратко, то цифровые ключи в массивах храняться ввиде чисел, а у объекта в виде строк. При касте массива к объекту и наоборот тип ключей не меняется. В результате получается что ключ есть, виде в var_dump, а достучаться до него не получается
PHP
1
2
3
4
5
6
$a = (object) [0 => 'aaa'];
var_dump($a, $a->{0});
 
$b = new stdClass;
$b->{0} = 'aaa';
var_dump($b, $b->{0});
https://ideone.com/YjL9K8
0
MadHatter
129 / 125 / 46
Регистрация: 15.06.2013
Сообщений: 873
25.03.2018, 15:18 9
Ну да видимо видимо там просто более старая версия пхп была. Понятно. Спасибо.
0
andr-xw
121 / 76 / 32
Регистрация: 05.03.2013
Сообщений: 447
25.03.2018, 15:24 10
Bash
1
2
3
4
Андрей@DESKTOP-MAIN MINGW64 ~/Desktop
$ "C:\Program Files\php-7.1.1-nts-Win32-VC14-x64\php.exe" 1.txt
PHP Notice:  Undefined property: stdClass::$0 in C:\Users\Андрей\Desktop\1.txt on line 3
NULL
Да, действительно.
0
25.03.2018, 15:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2018, 15:24

Получить значение свойства объекта
Здравствуйте, у меня есть небольшой кодик, основная суть: я создал структуру &quot;TRAIN&quot; с...

Не могу получить значение свойства объекта
Добрый вечер! Возникла такая проблема, не могу получить значение свойства BalloonContentHeader....

Не могу получить значение свойства заданного объекта
Привет всем! Не могу получить значение свойства объекта Вот код: PropertyInfo info =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru