ส่งคืนค่าหลายค่าจากฟังก์ชันใน PHP

Return Multiple Values From Function Php



ฟังก์ชันสามารถคืนค่าให้ผู้โทรได้โดยใช้ปุ่ม กลับ คำสั่งในภาษาการเขียนโปรแกรมใด ๆ คำสั่งนี้ยังสามารถใช้ใน PHP เพื่อคืนค่าเดียวและหลายค่าจากฟังก์ชัน ตัวแปรอาร์เรย์และอ็อบเจ็กต์ใช้เพื่อเก็บค่าหลายค่า สามารถคืนค่าได้หลายค่าจากฟังก์ชัน PHP โดยใช้ตัวแปรประเภทนี้ บทช่วยสอนนี้แสดงวิธีการคืนค่าหลายค่าจากฟังก์ชันโดยใช้สคริปต์ PHP

ตัวอย่างที่ 1: ส่งคืนค่าหลายค่าเป็นอาร์เรย์

สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้เพื่อคืนค่าหลายค่าเป็นอาร์เรย์ ในที่นี้ ฟังก์ชันที่ชื่อว่า ฟังก์ชัน1() ถูกกำหนดให้กำหนดค่าห้าค่าเป็นห้าตัวแปร ถัดไป ค่าเหล่านี้จะถูกส่งกลับเป็นอาร์เรย์ไปยังผู้โทร ค่าที่ส่งคืนจะถูกเก็บไว้ในตัวแปรอาร์เรย์ชื่อ $languages พิมพ์โดยใช้ var_dump() การทำงาน.









//กำหนดฟังก์ชัน PHP
การทำงานฟังก์ชัน1(){

//กำหนดค่าให้กับตัวแปร 5 ตัว
$ lang1 = 'HTML';
$lang2 = 'PHP';
$lang3 = 'จาวา';
$ lang4 = 'จาวาสคริปต์';
$ lang5 = 'XML';

//คืนค่าหลายค่าให้กับผู้โทรโดยใช้ array
กลับ อาร์เรย์ ($ lang1, $lang2, $lang3, $ lang4, $ lang5);
}

//เก็บค่าที่ส่งกลับ
$languages =ฟังก์ชัน1();

//พิมพ์ค่าที่ส่งคืนด้วย datatypes
var_dump ($languages);

?>

เอาท์พุท:



ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเว็บเซิร์ฟเวอร์







ตัวอย่างที่ 2: เก็บค่าที่ส่งคืนไว้ในหลายตัวแปร

สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้เพื่อคืนค่าหลายค่าโดยใช้อาร์เรย์และเก็บไว้ในหลายตัวแปร ในที่นี้ ฟังก์ชันที่ชื่อว่า พนักงาน_details() ถูกกำหนดให้เก็บข้อมูลพนักงานไว้ใน 6 ตัวแปร และตัวแปรเหล่านี้จะถูกส่งคืนโดยใช้อาร์เรย์ไปยังผู้โทร มีการประกาศอาร์เรย์ที่มีตัวแปรหกตัวเพื่อรับค่าที่ส่งคืนจากฟังก์ชัน ถัดไป ตัวแปรเหล่านี้จะถูกพิมพ์หลังจากคำนวณเงินเดือนรวมของพนักงาน



//กำหนดฟังก์ชัน PHP
การทำงานพนักงาน_details(){

//กำหนดรายละเอียดพนักงาน
$name = 'นิการ์เพิ่มเติม';
$อีเมล = ' [ป้องกันอีเมล] ';
$โทรศัพท์ = '8801825763564';
$พื้นฐาน = 40,000;
$house_rent = 10,000;
$transport = 5000;

//คืนค่าโดยใช้ array
กลับ [$name, $อีเมล, $โทรศัพท์, $พื้นฐาน, $house_rent, $transport];
}

//เก็บค่าอาร์เรย์ลงในตัวแปร
[$n, $ e, $p, $ b, $h, $r] =พนักงาน_details();

//คำนวณเงินเดือน
$เงินเดือน = $ b + $h + $r;

//พิมพ์รายละเอียดพนักงาน
โยนออก ' รายละเอียดพนักงาน:
'
;
โยนออก 'ชื่อ:$n
อีเมล:$ e
โทรศัพท์:$p
เงินเดือน:$เงินเดือน'
;

?>

เอาท์พุท:



ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเว็บเซิร์ฟเวอร์ ค่าหกค่าจะถูกส่งกลับจากฟังก์ชันและเก็บไว้ในหกตัวแปร เงินเดือนของพนักงานคำนวณโดยการเพิ่มค่าของตัวแปรสามตัวสุดท้าย พิมพ์ชื่อ อีเมล โทรศัพท์ และเงินเดือนทั้งหมดที่นี่เป็นผลลัพธ์

ตัวอย่างที่ 3: ส่งคืนค่าหลายค่าตามคำสั่งเงื่อนไข

สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้เพื่อคืนค่าหลายค่าตามคำสั่งเงื่อนไข ในที่นี้ ฟังก์ชันที่ชื่อว่า เลขคณิต_operation() ถูกกำหนดให้สามารถรับสามอาร์กิวเมนต์ อาร์กิวเมนต์แรกจะใช้สัญลักษณ์ตัวดำเนินการใดๆ ('+', '-', 'x', '/') อาร์กิวเมนต์ที่สองและที่สามจะใช้ค่าตัวเลขใดๆ ฟังก์ชั่นจะคำนวณการบวกหรือการลบหรือการคูณหรือการหารตามค่าของ $operator และส่งกลับค่าของ $value1, $value2 และ $result เป็นอาร์เรย์



//กำหนดฟังก์ชัน PHP ด้วยอาร์กิวเมนต์
การทำงานเลขคณิต_operation($operator, $value1, $value2)
{

//ดำเนินการคำนวณตามตัวดำเนินการ
ถ้า($operator == '+'){
$ผลลัพธ์ = $value1 + $value2;
}
Elseif($operator == '-'){
$ผลลัพธ์ = $value1 - $value2;
}
Elseif($operator == 'NS'){
$ผลลัพธ์ = $value1 * $value2;
}
Elseif($operator == '/'){
$ผลลัพธ์ = $value1 / $value2;
}
อื่น{
$ผลลัพธ์ = 'ไม่ได้กำหนดโอเปอเรเตอร์';
}

//คืนค่าหลายค่าให้กับผู้โทร
กลับ อาร์เรย์ ($value1, $value2, $ผลลัพธ์);

}

//กำหนดโอเปอเรเตอร์
$operator = '-';
//เก็บค่าที่ส่งกลับจากฟังก์ชัน
$values =เลขคณิต_operation($operator, 80, ห้าสิบ);
//พิมพ์ค่าส่งคืน
โยนออก $values[0].''.$operator.''.$values[1].'='.$values[2];
?>

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเว็บเซิร์ฟเวอร์ สัญลักษณ์ '-' ถูกกำหนดเป็นโอเปอเรเตอร์ และ 80 และ 50 ถูกกำหนดให้กับอาร์กิวเมนต์ที่สองและสามของฟังก์ชัน ดังนั้น ค่าการลบ 80-50 คือ 30 ที่พิมพ์ออกมาเป็นเอาต์พุต

ตัวอย่างที่ 4: ส่งคืนค่าหลายค่าโดยใช้คีย์เวิร์ดผลตอบแทน

สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้ซึ่งจะคืนค่าหลายค่าโดยใช้คีย์เวิร์ด Yield ในที่นี้ ฟังก์ชัน user_data() ใช้เพื่อคืนค่าสามค่าหลายค่าให้กับผู้โทร ค่าที่ส่งคืนจะถูกพิมพ์โดยใช้ลูป 'for'



//กำหนดฟังก์ชัน PHP
การทำงานuser_data(){
//คืนค่าหลายค่าโดยใช้ผลตอบแทน
ผลผลิต ' [ป้องกันอีเมล] ';
ผลผลิต 'เอบีร์990';
ผลผลิต '845245';
}

//เก็บค่าที่ส่งกลับ
$user =user_data();

โยนออก ' รายละเอียดของผู้ใช้:
'
;
//พิมพ์ค่าที่ส่งคืนโดยใช้ loop
แต่ละ($user เช่น $value){
โยนออก $value.'
'
;
}

?>

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเว็บเซิร์ฟเวอร์ ที่นี่ ค่าส่งคืนจะถูกพิมพ์ในแต่ละบรรทัดโดยใช้เครื่องหมาย 'สำหรับ' ห่วง

ตัวอย่างที่ 5: ส่งคืนค่าหลายค่าของอาร์เรย์หลังจากกรองข้อมูล

สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้เพื่อส่งคืนตัวเลขคู่ทั้งหมดจากอาร์เรย์ ที่นี่, filter_even() ฟังก์ชันใช้เพื่อนำอาร์เรย์ของค่าตัวเลขมาเป็นอาร์กิวเมนต์ ค้นหาและเก็บตัวเลขคู่จากอาร์เรย์ลงในตัวแปรอาร์เรย์อื่น แล้วส่งอาร์เรย์ใหม่กลับไปยังผู้โทร



//กำหนดฟังก์ชัน PHP
การทำงานfilter_even($num_array) {

//ประกาศอาร์เรย์ว่าง
$even_numbers = อาร์เรย์ ();

// วนซ้ำค่าของอาร์เรย์โดยใช้ loop
แต่ละ( $num_array เช่น $num ) {
ถ้า( $num % 2 == 0 )
array_push ( $even_numbers, $num );
}

//ส่งคืนอาร์เรย์ที่กรองแล้วไปยังผู้โทร
กลับ $even_numbers;

}

//ประกาศอาร์เรย์ตัวเลข
$numbers = อาร์เรย์ (8, 55, 2. 3, 10, 4, 91, 39, 48);

โยนออก 'รายการตัวเลขก่อนกรอง:
'
;
//พิมพ์อาร์เรย์ก่อนกรอง
แต่ละ( $numbers เช่น $ ชั่วโมง ) {
โยนออก $ ชั่วโมง . '';
}

//เก็บเลขคู่
$values =filter_even($numbers);

โยนออก '

รายการเลขคู่:
'
;
//พิมพ์ค่าส่งคืน
แต่ละ( $values เช่น $ ชั่วโมง ) {
โยนออก $ ชั่วโมง . '';

}

?>

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเว็บเซิร์ฟเวอร์ ผลลัพธ์แสดงค่าของอาร์เรย์หลักและอาร์เรย์ที่กรอง

บทสรุป

วิธีการคืนค่าหลายค่าจากฟังก์ชันโดยใช้ตัวแปรอาร์เรย์ได้แสดงในบทช่วยสอนนี้โดยใช้ตัวอย่างต่างๆ คุณยังสามารถใช้ตัวแปรอ็อบเจ็กต์เพื่อคืนค่าหลายค่าจากฟังก์ชันโดยใช้สคริปต์ PHP