Каким образом передать массив в подпрограмму?
Псевдокод того что хотелось бы:
define($array1)
define($array2)
//как-то заполняем оба массива
my_subr_process($array1) //обрабатываем первый массив
my_subr_process($array2) //той же процедурой обрабатываем второй массив
my_print($array1)
my_print($array2)
Насколько я понимаю, в подпрограммы параметрами передавать можно только элементарные типы. А если указать массив, передаётся первый элемент.
Можно было бы передать массив через глобальную переменную, но тогда перед вызовом надо скопировать в эту переменную, а потом копировать обратно. Выглядит тяжеловато, особенно если вызываемая подпрограмма - однострочник.