>>982
print_advanceda() という関数が、関数の内部で表示を実行しているため、
$s1 = print_advanceda() の行の評価時に表示が行われてしまう。
また、print_advanceda() 関数の内部で返り値が設定されていないため、
$s1 = print_advanceda() としても $s1 に何も代入されない。

print_advanceda() 関数を自分で修正できるのならば、
内部で表示(print, echo 等)している部分ををやめて、
return文で戻すように改造する。