Объединить два объекта php
Каков наилучший способ объединения двух объектов PHP?
У нас есть два объекта PHP5 и мы хотели бы объединить содержимое одного во второй. Между ними нет понятия подклассов, поэтому решения, описанные в следующем разделе, не могут применяться.
Примечания:
12 ответов
Если ваши объекты содержат только поля (без методов), это работает:
это также работает, когда объекты имеют методы. (проверено с PHP 5.3 и 5.6)
Если ваши объекты содержат только поля (без методов), это работает:
Я понимаю, что использование общих объектов [stdClass ()] и приведение их в качестве массивов отвечает на вопрос, но я думал, что композитор был отличным ответом. Тем не менее, я чувствовал, что он может использовать некоторые улучшения функций и может быть полезен для кого-то еще.
очень простое решение, учитывая, что у вас есть объект A и B:
вот и все. Теперь у вас есть objA со всеми значениями из objB.
решение для сохранения как методов, так и свойств из Объединенных onjects заключается в создании класса combinator, который может
простой в использовании
Я бы пошел со связыванием второго объекта в свойство первого объекта. Если второй объект является результатом функции или метода, используйте ссылки. Ex:
использование так же просто, как это:
объединить любое количество необработанных объектов
вот функция, которая будет сглаживать объект или массив. Используйте это, только если вы уверены, что ваши ключи уникальны. Если у вас есть ключи с одинаковыми именами они будут перезаписаны. Вам нужно будет поместить это в класс и заменить «функции» именем вашего класса. Наслаждаться.
давайте держать его просто!
Если это не ответит на ваш вопрос, это, безусловно, поможет ответить. Кредит за код выше идет на себя:)
Как объединить два объекта PHP?
Даны два объекта одного класса, и задача состоит в том, чтобы объединить оба объекта в один объект.
Примечание. При объединении объектов с помощью array_merge () элементы массива в аргументе 1 перезаписываются элементами массива в аргументе 2. Это может аннулировать результирующие элементы в конечном объекте, если массив в аргументе 2 имеет нулевые значения.
Примечание. Функции не копируются с использованием этого подхода. Используйте этот подход, только если класс содержит только переменные.
Пример:
// PHP prgoram для объединения двух объектов
$objectA = new Geeks();
$objectB = new Geeks();
$obj_merged = (object) array_merge (
Пример:
// PHP prgoram для объединения двух объектов
$objectA = new Geeks();
$objectB = new Geeks();
// Функция для преобразования класса данного объекта
$obj_merged = convertObjectClass( array_merge (
Подход 3: Создайте новый объект исходного класса и назначьте все свойства обоих объектов этому новому объекту с помощью цикла foreach. Это простой и понятный подход к объединению двух объектов.
Пример:
// PHP prgoram для объединения двух объектов
$objectA = new Geeks();
$objectB = new Geeks();
// Функция для преобразования класса данного объекта
// Инициализация свойств класса
Каков наилучший способ слияния двух объектов PHP?
У нас есть два объекта PHP5 и хотелось бы объединить содержимое одного во второе. Нет понятия подклассов между ними, поэтому решения, описанные в следующем разделе, не могут применяться.
Примечания:
ОТВЕТЫ
Ответ 1
Если ваши объекты содержат только поля (без методов), это работает:
Это также работает, когда объекты имеют методы. (тестируется с PHP 5.3 и 5.6)
Ответ 2
Если ваши объекты содержат только поля (без методов), это работает:
Ответ 3
Ответ 4
Ответ 5
Я понимаю, что использование общих объектов [stdClass()] и отбрасывание их в виде массивов отвечает на вопрос, но я думал, что композитор был отличным ответом. Тем не менее, я чувствовал, что может использовать некоторые улучшения функций и может быть полезен для кого-то еще.
Ответ 6
Очень простое решение, учитывая, что у вас есть объекты A и B:
Это все. Теперь у вас есть objA со всеми значениями из objB.
Ответ 7
Ответ 8
Я бы включил второй объект в свойство первого объекта. Если второй объект является результатом функции или метода, используйте ссылки. Пример:
Ответ 9
Использование так же просто:
Ответ 10
Чтобы слить любое количество необработанных объектов
Ответ 11
Вот функция, которая сглаживает объект или массив. Используйте это, только если вы уверены, что ваши ключи уникальны. Если у вас есть ключи с тем же именем, они будут перезаписаны. Вам нужно будет поместить это в класс и заменить «Функции» на имя вашего класса. Наслаждайтесь.
Ответ 12
Пусть это будет просто!
Если это не ответит на ваш вопрос, это наверняка поможет в ответе. Кредит за код выше относится к самому себе:)
Каков наилучший способ слияния двух объектов PHP?
У нас есть два объекта PHP5 и хотелось бы объединить содержимое одного во второе. Между ними нет понятия подклассов, поэтому решения, описанные в следующем разделе, не могут применяться.
Как вы копируете объект PHP в другой тип объекта
Примечания:
Если ваши объекты содержат только поля (без методов), это работает:
Это также работает, когда объекты имеют методы. (тестируется с PHP 5.3 и 5.6)
Если ваши объекты содержат только поля (без методов), это работает:
Я понимаю, что использование общих объектов [stdClass ()] и их литье в качестве массивов отвечает на вопрос, но я думал, что композитор был отличным ответом. Тем не менее, я чувствовал, что он может использовать некоторые улучшения функций и может быть полезен для кого-то другого.
Очень простое решение, учитывая, что у вас есть объекты A и B:
Это все. Теперь у вас есть objA со всеми значениями из objB.
решение. Чтобы сохранить, как методы, так и свойства из объединенных onjects – создать класс комбинаторов, который может
Я хотел бы связать второй объект с собственностью первого объекта. Если второй объект является результатом функции или метода, используйте ссылки. Пример:
Использование так же просто:
Чтобы объединить любое количество необработанных объектов
Вот функция, которая сглаживает объект или массив. Используйте это, только если вы уверены, что ваши ключи уникальны. Если у вас есть ключи с тем же именем, они будут перезаписаны. Вам нужно будет поместить это в класс и заменить «Функции» на имя вашего класса. Наслаждаться…
Давайте будем простыми!
Если это не ответит на ваш вопрос, это наверняка поможет в ответе. Кредит за код выше идет мне 🙂
Как объединить объекты в PHP
В этой статье мы покажем вам, как использовать вышеуказанные методы для объединения объектов в PHP.
Пример 1: объединение объектов с помощью цикла for
// Определить класс
class Account <
// Создать новый объект класса
$merge_object = new Account ( ) ;
echo “ Значения объединенного объекта:
// Создаем первый объект и присваиваем значения свойствам
$acc_obj1 = new Account ( ) ;
$acc_obj1 – > name = ” andreyex” ;
$acc_obj1 – > email = “andreyex@gmail.com” ;
$acc_obj1 – > acc_type = “Saving” ;
// Создаем второй объект и присваиваем значения свойствам
$acc_obj2 = new Account ( ) ;
$acc_obj2 – > openning_balance = 40000 ;
$acc_obj2 – > current_balance = 50000 ;
Следующий вывод будет произведен после запуска вышеуказанного скрипта с веб-сервера. В выходных данных отображаются значения свойств переменной объединенного объекта.
Пример 2: объединить объекты с помощью функции array_merge()
// Определить класс
class Account <
// Создайте первый объект и назначьте значения свойств
$acc_obj1 = new Account ( ) ;
$acc_obj1 – > name = “Destroyer” ;
$acc_obj1 – > email = “Destroyer@gmail.com” ;
$acc_obj1 – > acc_type = “Current” ;
// Создайте второй объект и назначьте значения свойств
$acc_obj2 = new Account ( ) ;
$acc_obj2 – > openning_balance = 500000 ;
$acc_obj2 – > current_balance = 450000 ;
echo “ Значения объединенного объекта:
Следующий результат будет получен при запуске вышеуказанного скрипта с веб-сервера. В выходных данных отображаются значения свойств переменной объединенного объекта.
Пример 3: объединить объекты с помощью функции array_merge_recursive()
Объекты также можно объединять с помощью встроенной функции array_merge_recursive(), которая используется для объединения вложенных массивов. Следовательно, если какой-либо массив содержит внутри себя другой массив, эта функция вернет объединенный массив путем объединения значений вложенного массива.
// Определите класс
class Student <
// Определите объект класса
$student = new Student ( ) ;
//Печать з начения объединенного объекта
echo “” ;
Следующий результат будет получен при запуске вышеуказанного скрипта с веб-сервера. В выходных данных отображаются значения свойств переменной объединенного объекта.
Заключение
В этой статье мы покажем вам три различных способа объединения объектов в PHP. В первом примере объекты объединяются с помощью цикла for, а в двух других примерах используются встроенные функции для объединения массивов.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.