<?php
class Organisation {
private $name ;
private $departments = [ ] ;
public function __construct( $name ) {
$this -> name = $name ;
}
public function addDepartment( Department $dep ) {
$exist = false ;
foreach ( $this -> $departments as $department ) {
if ( $department === $dep ) {
$exist = true ;
}
}
if ( $exist == false ) {
$this -> departments [ ] = $dep ;
}
}
}
class Department {
public function __construct( $name ) {
$this -> name = $name ;
}
}
$vector = new Organisation( 'Вектор' ) ;
$dep1 = new Department( 'dep1' ) ;
$vector -> addDepartment ( $dep1 ) ;
$vector -> addDepartment ( $dep1 ) ;
PD9waHAKCmNsYXNzIE9yZ2FuaXNhdGlvbiB7CgoJcHJpdmF0ZSAkbmFtZTsKCXByaXZhdGUgJGRlcGFydG1lbnRzID0gW107CgoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRuYW1lKSB7CgkJJHRoaXMtPm5hbWUgPSAkbmFtZTsJCQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBhZGREZXBhcnRtZW50KERlcGFydG1lbnQgJGRlcCkgewoKCQkkZXhpc3QgPSBmYWxzZTsKCQkKCQlmb3JlYWNoICgkdGhpcy0+JGRlcGFydG1lbnRzIGFzICRkZXBhcnRtZW50KSB7CgkJCWlmICgkZGVwYXJ0bWVudCA9PT0gJGRlcCkgewoJCQkJJGV4aXN0ID0gdHJ1ZTsKCQkJfQoJCX0KCgkJaWYgKCRleGlzdCA9PSBmYWxzZSkgewoJCQkkdGhpcy0+ZGVwYXJ0bWVudHNbXSA9ICRkZXA7CgkJfQoJCQoJfQoKCn0KCmNsYXNzIERlcGFydG1lbnQgewoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRuYW1lKSB7CgkJJHRoaXMtPm5hbWUgPSAkbmFtZTsKCX0KfQoKJHZlY3RvciA9IG5ldyBPcmdhbmlzYXRpb24oJ9CS0LXQutGC0L7RgCcpOwoKJGRlcDEgPSBuZXcgRGVwYXJ0bWVudCgnZGVwMScpOwokdmVjdG9yLT5hZGREZXBhcnRtZW50KCRkZXAxKTsKJHZlY3Rvci0+YWRkRGVwYXJ0bWVudCgkZGVwMSk7Cgp2YXJfZHVtcCgkdmVjdG9yKTsK