1--TEST-- 2Explicit set property hook $value parameter 3--FILE-- 4<?php 5 6class Test { 7 public string $prop { 8 set(string|array $prop) { 9 $this->prop = is_array($prop) ? join(', ', $prop) : $prop; 10 } 11 } 12} 13 14$test = new Test(); 15var_dump($test->prop = 'prop'); 16var_dump($test->prop = ['prop1', 'prop2']); 17var_dump($test->prop); 18 19?> 20--EXPECT-- 21string(4) "prop" 22array(2) { 23 [0]=> 24 string(5) "prop1" 25 [1]=> 26 string(5) "prop2" 27} 28string(12) "prop1, prop2" 29