Как преобразовать объект PHP в ассоциативный массив в PHP — это тема сегодняшнего дня. Объект — это экземпляр класса. Это просто образец класса, для которого выделена память. Массив — это структура данных, которая хранит один или несколько аналогичных типов значений с одним именем, но ассоциативный массив отличается от простого массива PHP. Массив, содержащий строковый индекс, называется ассоциативным массивом. Он сохраняет значения элементов вместе со значениями ключей, а не в линейном порядке индекса.
Как преобразовать объект PHP в ассоциативный массив
Мы можем преобразовать, используя два метода.
- Используя методы json_encode () и json_decode ().
- Приведение типа объекта в массив.
# Использование методов json_encode () и json_decode ()
Мы можем преобразовать объект PHP в ассоциативный массив с использованием методов json_encode и json_decode .
См. следующий код.
php class ST {function __construct ($ mike, $ eleven) {$ this-> var1 = $ mike; $ this-> var2 = $ одиннадцать; }}//Создание объекта $ st3 = new ST ('Finn', 'Millie'); echo "До преобразования: n"; var_dump ($ st3); //Преобразование объекта в ассоциативный массив $ arr = json_decode (json_encode ($ st3), true); echo "После преобразования: n"; var_dump ($ arr);
Мы определили один класс с именем ST, и в этом классе мы использовали конструктор для установки переменной при создании объект.
Затем мы создаем объект и передаем два параметра конструкторам.
Затем мы используем методы json_encode () и json_decode () для преобразования объекта в ассоциативный массив. См. Вывод.
➜ pro php app.php Перед преобразованием: object (ST) # 1 (2) {["var1"] => string (4) "Finn" ["var2"] => строка (6) "Милли"} После преобразования: array (2) {["var1"] => строка (4) "Finn" ["var2"] => строка (6) "Милли"} ➜ pro
Вы можете быстро преобразовать глубоко вложенные объекты в ассоциативные массивы, полагаясь на поведение функций кодирования/декодирования JSON.
#Type Casting object to массив
Приведение типов — это способ использования переменной одного типа данных в другой тип данных, и это просто явное преобразование типа данных.
Он может преобразовывать объект PHP в массив, используя правила приведения типов, поддерживаемые в PHP.
См. синтаксис преобразования типов.
$ arr = (array) $ obj;
См. следующий код.
php class ST {function __construct ($ mike, $ eleven) {$ this-> var1 = $ mike; $ this-> var2 = $ одиннадцать; }}//Создание объекта $ st3 = new ST ('Finn', 'Millie'); echo "До преобразования: n"; var_dump ($ st3); //Преобразование объекта в ассоциативный массив $ arr = (array) $ st3; echo "После преобразования: n"; var_dump ($ arr);
Мы должны изменить одну строку, которая следует из приведенного выше кода json_encode ().
$ arr = (array) $ st3 ;
Теперь посмотрим на результат.
➜ pro php app.php Перед преобразованием: object (ST) # 1 (2) {["var1"] => строка (4) "Finn" ["var2"] => строка (6) "Millie"} После преобразования: array (2) {["var1"] => строка (4) "Finn" ["var2"] = > string (6) "Millie"} ➜ pro
# Получить свойства данного объекта в PHP
get_object_vars () предоставит нам все свойства данного объекта.
get_object_vars (object $ object)
См. пример кода.
phpclass Data {private $ x = 19; общедоступный $ y = 11; общедоступный $ z = 21; частный $ e = 29; статический $ m = 46; общедоступная функция test () {var_dump (get_object_vars ($ this)); }} $ duh = new Data; var_dump (get_object_vars ($ duh)); $ duh-> test ();
В приведенном выше коде мы получим два разных результата.
Мы получим только общедоступные значения в обоих экземплярах, а частные и защищенные будут зависеть от контекста. См. Вывод.
➜ pro php app.phparray (2) {["y"] => int (11) ["z"] => int (21)} array (4) {["x"] => int (19) ["y"] => int (11) ["z"] => int (21) ["e"] => int (29)} ➜ pro
Наконец, преобразование объекта PHP в ассоциативный массив в PHP завершено.
Рекомендуемые сообщения
- Учебное пособие по функциям PHP с примером | Функции в PHP
- Пример PHP str_replace | Учебное пособие по функции PHP str_replace ()
- Пример функции PHP Explode | Учебное пособие по разнесению строк в PHP
- Пример замены массива PHP | Учебное пособие по функции array_replace ()
- Пример переворота массива PHP | Учебное пособие по функции array_flip ()