Возможный дубликат:
Эквивалент PHP ToString ()
как преобразовать объект в строку в php
На самом деле я имею дело с API веб-сервисов. Я хочу использовать вывод одного API в качестве ввода для другого API. когда я пытаюсь сделать это, я получил ошибку, как это: Catchable фатальная ошибка: объект класса std не может быть преобразован в строку в C: \ …
это результат первого API :: stdClass Object ([document_number] => 10ba60), теперь я хочу, чтобы только этот номер использовался в качестве входа для второй AP
print_r и _string () оба не работают в моем случае
Вы можете настроить, как ваш объект представлен в виде строки, реализуя __toString()
в вашем классе, так что когда ваш объект является типом, отличным как строка (явный тип cast $str = (string) $myObject;
или автоматическое echo $myObject
) вы можете управлять включенным и строковым форматом.
Если вы хотите отображать данные своего объекта, метод выше будет работать. Если вы хотите сохранить свой объект в сеансе или базе данных, вам необходимо его сериализовать , поэтому PHP знает, как восстановить ваш экземпляр.
Некоторый код, чтобы продемонстрировать разницу:
class MyObject { protected $name = 'JJ'; public function __toString() { return "My name is: {$this->name}\n"; } } $obj = new MyObject; echo $obj; echo serialize($obj);
Вывод:
Меня зовут: JJ
O: 8: "MyObject": 1: {s: 7: "* Название"; s: 2: "JJ";}
Используйте оператор литья (string)$yourObject;
Существует модуль сериализации объектов , с помощью функции сериализации вы можете сериализовать любой объект.
у вас есть функция print_r DOC
В вашем случае вы должны просто использовать
$firstapiOutput->document_number
как вход для второго api.