$array1 = array(
array(
"id" => "1",
"name" => "name1"
),
array(
"id" => "2",
"name" => "name2"
)
);
$array2 = array(
array(
"id" => "3",
"name" => "name3"
),
array(
"id" => "4",
"name" => "name4"
)
);
print_r( array_merge( $array1, $array2 ) );
// вывод
Array
(
[0] => Array
(
[id] => 1
[name] => name1
)
[1] => Array
(
[id] => 2
[name] => name2
)
[2] => Array
(
[id] => 3
[name] => name3
)
[3] => Array
(
[id] => 4
[name] => name4
)
)
$x.setCmFromM( $x.getCmFromM() ) делает те же действия, и вполне себе имеет право на жизнь ибо из названия понятно что выйдет.
То что пример у Вас
уебанскийплохой, да, я спорить не буду, но то что во всех сеттерах нужно запрещать изменять значение, я не могу согласиться.