سلام این فانکشنی که شما نوشتی به صورت بازگشتی یا recursive هست و درک کارکرد اینطور موارد کمی سخته
می تونید این فانکشن را تریس کرده و با رسم درخت بازگشت جوابش رو بدست بیارید
مثلا اون قسمتی که گفتین چه کاری انجام میده ، فرض کنید با مقدار 3 این فانکشن فراخوانی بشه ، میرسیم به
کد PHP:
return 3 * xxx(3-1)
و اینجا دوباره فانکشن با مقدار 2 فراخوانی میشه
کد PHP:
return 3 * xxx(2-1)
و در این مرحله چون فانکشن با مقدار 1 فراخوانی میشه و داخل شرط نوشتیم اگر $n مساوی با 1 بود 1 برگشت داده بشه مقدار 1 رو داریم که
مقدار 1 رو به ما میده از طرفی در 3 ضرب میشه و کلا میشه 3، خب دوباره به بالا بر میگردیم مقدار
برابر 3 شد و دوباره ضرب در 3 میشه 9 ،
که جواب نهایی ما هست
راه آنلاین و سریعی واسه این کار سراغ ندارم ولی خب امیدوارم صحبت ها بهتون کمک بکنه
موفق باشید