Как преобразовать объект в строку в php
Возможный дубликат:
PHP ToString() эквивалент
как преобразовать объект в строку в php
На самом деле, я имею дело с API веб-сервисов. Я хочу использовать вывод одного API в качестве ввода для другого API. когда я пытаюсь сделать это, я получил такую ошибку: Catchable fatal error: Объект класса std не мог быть преобразован в строку в C: \...
это результат первого API:: stdClass Object ([document_number] = > 10ba60) теперь я хочу, чтобы только этот номер использовался в качестве входа для второго AP
print_r и _string() оба не работают в моем случае
Ответы
Ответ 1
Вы можете настроить, как ваш объект представлен в виде строки, реализуя метод __toString()
в вашем классе, так что когда ваш объект type cast as a string (явный тип 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
О: 8: "MyObject": 1: {s: 7: "* Название"; s: 2: "JJ";}
Ответ 2
Используйте оператор литья (string)$yourObject;
Ответ 3
у вас есть функция print_r DOC
Ответ 4
Существует модуль сериализация объекта, с serialize вы можете сериализовать любой объект.
Ответ 5
В вашем случае вы должны просто использовать
$firstapiOutput->document_number
в качестве входа для второго api.