Поиск по сайту:
Научиться писать стихи нельзя (Ф. Абрамов).

Как объединить объекты в PHP

14.12.2020
Полный список функций файловой системы PHP 5

Хотя встроенной функции нет, в PHP есть несколько способов объединения объектов. Например, новый объект можно создать, добавив свойства двух или более объектов с помощью цикла. В качестве альтернативы требуемые объекты можно преобразовать в массивы, которые можно объединить с помощью array_merge() или array_merge_recursively(), а затем повторно преобразовать в объект.

В этой статье мы покажем вам, как использовать вышеуказанные методы для объединения объектов в PHP.

 

Пример 1: объединение объектов с помощью цикла for

Чтобы следовать этому руководству, создайте файл PHP со следующим скриптом. Здесь объявлен класс Account. Account содержит метод display() для печати назначенных значений объекта класса. Объявлена настраиваемая функция Merge_Object() для объединения двух объектов класса Account с помощью цикла for. Два цикла for используются для объединения значений объектов и сохранения их в другом объекте класса Account. Объект $ acc_obj1 используется для назначения трех значений свойств класса Account, а объект $acc_obj2 используется для присвоения двух значений свойств. Эти переменные будут переданы в качестве аргументов функции Merge_Object().

<?php

//Определить класс
class Account {

public function display($object)
{
echo “<b> Имя: </b>”.$object>name.“<br />”;
echo “<b> Электронная почта: </b>”.$object>email.“<br />”;
echo “<b> Тип учетной записи: </b>”.$object>acc_type.“<br />”;
echo “<b> Начальное сальдо: </b>”.$object>openning_balance.“<br />”;
echo “<b> Текущее сальдо: </b>”.$object>current_balance;
}

}

// Определить функцию для объединения объектов
function Merge_Object($object1$object2) {

// Создать новый объект класса
$merge_object = new Account();

// Присваиваем значения первого объекта новому объекту
foreach($object1 as $property => $value) {
$merge_object>$property = $value;
}

Читать  Лучшая практика - Стандарты кодирования в WordPress

// Добавляем значения второго объекта в новый объект
foreach($object2 as $property => $value) {
$merge_object>$property = $value;
}

echo “<b> Значения объединенного объекта: </b><br/><br/>”;

// Вызов функции для печати значений объединенного объекта
$merge_object>display($merge_object);
}

// Создаем первый объект и присваиваем значения свойствам
$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;

// Вызов функции для объединения обоих объектов
Merge_Object($acc_obj1$acc_obj2);

?>

Вывод:

Следующий вывод будет произведен после запуска вышеуказанного скрипта с веб-сервера. В выходных данных отображаются значения свойств переменной объединенного объекта.

 

Пример 2: объединить объекты с помощью функции array_merge()

Функция array_merge() используется для объединения двух или более массивов. Чтобы следовать этому примеру, создайте файл PHP со следующим скриптом. Здесь класс Account используется для печати значений объединенного объекта. Объекты $ acc_obj1 и $ acc_obj2 создаются в сценарии. Три значения свойств назначаются с помощью $ acc_obj1, а два значения свойств назначаются с помощью $ acc_obj2. Эти два объекта преобразуются в два массива и передаются в качестве аргументов функции array_merge(). Выходные данные функции array_merge() преобразуются в объект для получения $ merge_object. Затем $merge_object передается в качестве аргумента методу display() класса  Account.

<?php

Читать  Лучшие мобильные игровые движки и платформы для разработки

//Определить класс
class Account {

public function display($object)
{
echo “<b> Имя: </b>”.$object>name.“<br />”;
echo “<b> Электронная почта: </b>”.$object>email.“<br />”;
echo “<b> Тип учетной записи: </b>”.$object>acc_type.“<br />”;
echo “<b> Начальное сальдо:</b>”.$object>openning_balance.“<br />”;
echo “<b> Текущее сальдо: </b>”.$object>current_balance;
}

}

// Создайте первый объект и назначьте значения свойств
$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;

//Слияние объектов с помощью array_merge()
$merge_object = (object) array_merge((array) $acc_obj1(array) $acc_obj2);

echo “<b> Значения объединенного объекта: </b><br/><br/>”;

foreach($merge_object as $property => $value) {
echo $property” => “$value“<br/>”;
}
?>

Вывод:

Следующий результат будет получен при запуске вышеуказанного скрипта с веб-сервера. В выходных данных отображаются значения свойств переменной объединенного объекта.

 

Пример 3: объединить объекты с помощью функции array_merge_recursive()

Объекты также можно объединять с помощью встроенной функции array_merge_recursive(), которая используется для объединения вложенных массивов. Следовательно, если какой-либо массив содержит внутри себя другой массив, эта функция вернет объединенный массив путем объединения значений вложенного массива.

Чтобы следовать этому примеру, создайте файл PHP со следующим скриптом. Здесь определен класс Student, который возвращает объединенный объект с помощью метода Merge_Objects(). Объекты $ obj1 и $ obj2 объявлены для хранения свойств id и mark. Свойство mark содержит другой объект для хранения значений других свойств. Затем $ obj1 и $ obj2 передаются в качестве аргументов функции Merge_Objects(), которая использует функцию array_merge_recursive().

Читать  Использование функции glob() в PHP

<?php

// Определите класс
class Student {

//Объедините два объекта с помощью array_merge_recursive()
public function Merge_Objects($object1$object2)
{
$Obj1 = (array) $object1;
$Obj2 = (array) $object2;
$merged = array_merge_recursive($Obj1$Obj2);
return (object) $merged;
}
}

// Определите объект класса
$student = new Student();

// Объявите первый объект
$obj1 = (object) [
‘id’ => ‘423456’,
‘marks’ => (object) [
‘CSE101’ => 87
]
];

// Объявите второй объект
$obj2 = (object) [
‘marks’ => (object) [
‘CSE204’ => 94,
‘CSE306’ => 75
]
];

// Вызовите функцию для слияния первого и второго объектов
$merged_object = $student>Merge_Objects($obj1$obj2);

//Печать значения объединенного объекта
echo “<pre>”;
print_r($merged_object);
echo “</pre>”;

?>

 

Вывод:

Следующий результат будет получен при запуске вышеуказанного скрипта с веб-сервера. В выходных данных отображаются значения свойств переменной объединенного объекта.

 

Заключение

В этой статье мы покажем вам три различных способа объединения объектов в PHP. В первом примере объекты объединяются с помощью цикла for, а в двух других примерах используются встроенные функции для объединения массивов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Когда дело доходит до систем контроля версий, Git всегда находится…

Спасибо!

Теперь редакторы в курсе.