ارسال آرایه به عنوان آرگومان
در PHP بدون هیچ مشکلی، میتوان آرایهها را به عنوان آرگومان به متد ارسال کرد. به مثال زیر توجه کنید:
1: <?php 2: function TestArray($numbers) 3: { 4: foreach ($numbers as $number) 5: { 6: echo $number . '<br/>'; 7: } 8: } 9: 10: $arrayOfNumbers = array( 1, 2, 3, 4, 5 ); 11: 12: TestArray($arrayOfNumbers); 13: ?>
1 1 2 3 4 5
مشاهده کردید که به سادگی میتوان یک متد ایجاد کرد که پارامتر آن، آرایه دریافت میکند. وقتی متد در خط 12 فراخوانی میشود، آرایه را فقط با استفاده از نام آن و بدون استفاده از اندیس ارسال میکنیم. در خطوط 7-4 از حلقه foreach برای دسترسی به اجزای اصلی آرایه که به عنوان آرگومان به متد ارسال کردهایم استفاده میکنیم. در زیر نحوه ارسال یک آرایه به روش ارجاع نشان داده شده است:
1: <?php 2: function IncrementElements(&$numbers) 3: { 4: for ($i = 0; $i < count($numbers); $i++) 5: { 6: $numbers[$i]++; 7: } 8: } 9: 10: $arrayOfNumbers = array( 1, 2, 3, 4, 5 ); 11: 12: IncrementElements($arrayOfNumbers); 13: 14: foreach ($arrayOfNumbers as $num) 15: { 16: echo $num . '<br/>'; 17: } 18: ?>
2 3 4 5 6
برنامه بالا یک متد را نشان میدهد (خطوط 8-2) که به روش ارجاع یک آرایه را دریافت میکند (به علامت & در تعریف پارامتر (خط 2) توجه کنید) و به هر یک از عناصر آن یک واحد اضافه میکند. در داخل متد ما مقادیر هر یک از اجزای آرایه را افزایش دادهایم. سپس از متد خارج شده و نتیجه را نشان میدهیم. مشاهده میکنید که هر یک از مقادیر اصلی متد هم اصلاح شدهاند.