Page 1 of 1

ตัว & ใน function ครับ

Posted: 20/03/2010 2:16 am
by Karol
อยากทราบว่าตัว & ใน function เช่น

Code: Select all

<?
function test ($a, &$b)
{
..
.
.

}
?>
แบบนี้ มันหมายความว่ายังไงอ่าครับ

ขอบคุณฮะ

Re: ตัว & ใน function ครับ

Posted: 20/03/2010 2:32 am
by mindphp
เป็นการบอก ว่า function ที่เราสร้างขึ้นมาจะใช้ Pass by reference กับตัวแปลที่รับเข้ามา
(โดยปกติ function ถ้าสร้างโดยไม่มี & จะ Pass by value )
ตัวอย่าง
สร้าง function เพื่อ Pass by Value

Code: Select all

<?php
function pass_by_value($param) {
  push_array($param, 4, 5);
}

$ar = array(1,2,3);

pass_by_value($ar);

foreach ($ar as $elem) {
  echo "<br/>" . $elem;
}
?>
ผล

Code: Select all

1,2,3
สร้าง function เพื่อ Pass by reference ให้กับ parameter ที่รับเข้ามา

Code: Select all

<?php
function pass_by_reference(&$param) {
  push_array($param, 4, 5);
}

$ar = array(1,2,3);

pass_by_reference($ar);

foreach ($ar as $elem) {
  echo "<br/>" . $elem;
}
?>
ผล

Code: Select all

1,2,3,4,5
เพิ่มเติม กระทู้ที่เกี่ยวข้อ
https://www.mindphp.com/forums/viewtopic.php?f=21&t=4358
https://www.mindphp.com/forums/viewtopic.php?f=21&t=3939

Re: ตัว & ใน function ครับ

Posted: 20/03/2010 1:35 pm
by Karol
ขอบคุณครับ :-D