อาเรย์ฟังก์ชัน

4 January 2017

ในภาษา PHP มีฟังก์ชันอำนวยความสะดวกในการจัดการอาเรย์ ฟังก์ชันเหล่านี้เป็น Built-in function พื้นฐานที่จำเป็นในการเขียนโปรแกรม มีฟังก์ชันเกี่ยวกับอาเรย์เป็นจำนวนมากที่คุณสามารถใช้ได้ในภาษา PHP เช่น ฟังก์ชันในการค้นหาข้อมูล การจัดเรียง การค่าหามากสุด การหาค่าน้อยสุด เป็นต้น ในบทนี้จะเป็นตัวอย่างการใช้งานฟังก์ชันที่สำคัญกับอาเรย์

การเรียงข้อมูลในอาเรย์

ในภาษา PHP มีฟังก์ชันอำนวยความสะดวกในการจัดเรียงข้อมูลคือฟังก์ชัน sort() ซึ่งเป็นฟังก์ชันสำหรับเรียงข้อมูลจากน้อยไปมาก และสามารถใช้ได้กับข้อมูลทุกประเภทและอาเรย์ทุกแบบ มาดูตัวอย่างการเรียงข้อมูลในอาเรย์ในภาษา PHP

<?php

$names = ["Marcus", "Andrew", "Emma", "Chloe", "Thomas"];

echo "Unsorted:\n";
foreach ($names as $el) {
    echo "$el ";
}
echo "\n";

// Ascending sort
sort($names);

echo "Sorted asc:\n";
foreach ($names as $el) {
    echo "$el ";
}
echo "\n";

// Descending sort
rsort($names);

echo "Sorted desc:\n";
foreach ($names as $el) {
    echo "$el ";
}
echo "\n";

?>

ในตัวอย่าง เรามีอาเรย์ $names สำหรับเก็บชื่อ โปรแกรมของเราเรียงรายชื่อในอาเรย์จากน้อยไปมากและมากไปน้อยตามลำดับตัวอักษร ในตอนแรกเราได้ทำการแสดงข้อมูลในอาเรย์ที่ยังไม่ได้จัดเรียงด้วยคำสั่ง foreach

sort($names);

นี่เป็นการเรียกใช้ฟังก์ชัน sort() เพื่อเรียงข้อมูลในอาเรย์มากน้อยไปมาก เมื่อฟังก์ชันนี้ถูกใช้กับข้อมูลที่เป็นตัวอักษรมันจะเรียงตามลำดับตัวอักษรแทน การทำงานของฟังก์ชันนี้เป็นแบบการส่งค่าแบบ Pass by reference ลำดับของอาเรย์เดิมจะหายไปหลังจากเรียกใช้งาน

rsort($names);

ฟังก์ชัน rsort() เป็นฟังก์ชันในการข้อมูลจากมากไปน้อย ซึ่งลำดับของข้อมูลในอาเรย์จะตรงกันข้ามกับการฟังก์ชัน sort()

Unsorted:
Marcus Andrew Emma Chloe Thomas
Sorted asc:
Andrew Chloe Emma Marcus Thomas
Sorted desc:
Thomas Marcus Emma Chloe Andrew

นี่เป็นผลลัพธ์ของการทำงานของฟังก์ชันเรียงข้อมูลในอาเรย์

ฟังก์ชันจัดการลำดับในอาเรย์

นอกจากฟังก์ชันสำหรับการเรียงข้อมูลในอาเรย์แล้ว ภาษา PHP ยังมีฟังก์ชันในการเรียงลำดับอาเรย์ในอีกรูปแบบคือ การเรียงกลับและการสุ่มตำแหน่งของอาเรย์ มาดูตัวอย่างการใช้งาน

<?php

$planets = ["Mercury", "Venus", "Earth", "Mars", 
"Jupiter", "Saturn", "Uranus", "Neptune"];

foreach ($planets as $el) {
    echo "$el ";
}
echo "\n";

$reverse = array_reverse($planets);

foreach ($reverse as $el) {
    echo "$el ";
}
echo "\n";

shuffle($planets);

foreach ($planets as $el) {
    echo "$el ";
}
echo "\n";

?>

ในตัวอย่าง เรามีตัวแปร $planets ในการเก็บชื่อของดาวเคราะห์ในระบบสุริยะของเราทั้ง 8 ดวง โดยเรียงจากที่ใกล้ดวงอาทิตย์ที่สุดคือดาวพุธ และดวงดาวที่ไกลที่สุดคือดาวเนปจูน

$reverse = array_reverse($planets);

ฟังกชัน array_reverse() เป็นฟังก์ชันในการเรียงลำดับของอาเรย์ในลำดับที่ตรงกันข้ามกับอาเรย์เดิม ผลลัพธ์ที่ได้เป็นอาเรย์ใหม่ที่มีลำดับกลับกัน

shuffle($planets);

ฟังก์ชัน shuffle() เป็นฟังก์ชันสำหรับสุ่มตำแหน่งในอาเรย์ใหม่

Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune
Neptune Uranus Saturn Jupiter Mars Earth Venus Mercury
Uranus Mars Neptune Saturn Jupiter Mercury Venus Earth

นี่เป็นผลลัพธ์การทำงานของของโปรแกรม ซึ่งในบรรทัดแรกเป็นการแสดงผลลแบบลำดับปกติของอาเรย์ ในบรรที่สองเป็นลำดับกลับกัน และบรรทัดสุดท้ายเป็นลำดับจากการสุ่มตำแหน่งใหม่

ฟังก์ชันนับและหาผลรวมของอาเรย์

ในภาษา PHP มีฟังก์ชันสำหรับนับจำนวนสมาชิกภายในอาเรย์ หาผลรวมของการบวกและการคูณของตัวเลขในอาเรย์

<?php

$numbers = [5, 2, 10, 3, 9, 4, 1, 6];

echo "There are " . count($numbers) . " numbers in the array.\n";
echo "Summation of the array is " . array_sum($numbers) . ".\n";
echo "Product of the array is " . array_product($numbers) . ".\n";

?>

ในตัวอย่าง ฟังก์ชัน count() เป็นฟังก์ชันสำหรับนับจำนวนสมาชิกภายในอาเรย์ ฟังก์ชัน array_sum() เป็นฟังก์ชันสำหรับหาผลรวมของตัวเลขในอาเรย์ และฟังก์ชัน array_product() เป็นฟังก์ชันสำหรับหาผลรวมการคูณของตัวเลขในอาเรย์

There are 8 numbers in the array.
Summation of the array is 40.
Product of the array is 64800.

นี่เป็นผลลัพธ์การทำงานของโปรแกรม

ฟังก์ชัน in_array() ค้นหาข้อมูลในอาเรย์

ในการค้นหาข้อมูลในอาเรย์นั้นคุณสามารถใช้ฟังก์ชัน in_array() เพื่อตรวจสอบว่าค่านี้มีอยู่ในอาเรย์หรือไม่ โดยฟังก์ชันจะส่งค่ากลับเป็น true ถ้าหากพบ และ false ถ้าหากไม่พบ มาดูตัวอย่างการตรวจสอบข้อมูลว่ามีอยู่ในอาเรย์หรือไม่ในภาษา PHP

<?php

$names = ["Marcus", "James", "Danny", "Samuel"];

$find = "Thomas";
if (in_array($find, $names)) {
    echo "$find is in the array.\n";
} else {
    echo "$find is not in the array.\n";
}

$find = "James";
if (in_array($find, $names)) {
    echo "$find is in the array.\n";
} else {
    echo "$find is not in the array.\n";
}

?>

ในตัวอย่าง เป็นการค้นหาชื่อในอาเรย์ของ String โดยการใส่ชื่อและอาเรย์เป็นอากิวเมนต์ของฟังก์ชัน เมื่อมีชื่ออยู่ในอาเรย์โปรแกรมทำงานในบล็อคคำสั่งของ If และทำในคำสั่งของ Else เมื่อไม่พบ

Thomas is not in the array.
James is in the array.

นี่เป็นผลลัพธ์การทำงานของโปรแกรมเมื่อเราได้ค้นหาสำหรับ Thomas และ James ในอาเรย์

ฟังก์ชันค้นหาและสุ่มข้อมูลจากอาเรย์

ต่อไปเป็นฟังก์ชันค้นหาข้อมูลในอาเรย์อีกรูปแบบหนึ่ง คือฟังก์ชัน array_search() สำหรับค้นหาข้อมูลในอาเรย์ ถ้าพบจะส่งค่า Index หรือ Key กลับมา ถ้าไม่พบส่งเป็นค่า false แทน

<?php

$names = ["Marcus", "James", "Danny", "Samuel"];

$index = array_search("Danny", $names);
echo "Danny is found at index = $index\n";

$random_index = array_rand($names);
echo $names[$random_index] . " is chosen to be a winner of the game.\n";

?>

ในตัวอย่าง เรามีอาเรย์ $names ในการเก็บชื่อ ฟังก์ชัน array_search() ใช้สำหรับค้นหาค่าในอาเรย์ เพราะว่า "Danny" มีอยู่ในอาเรย์ ค่าที่ส่งหลับมาจึงเป็น 2 ซึ่งเป็นตำแหน่งของชื่อดังกล่าว

$random_index = array_rand($names);

ฟังก์ชัน array_rand() เป็นการสุ่มเอา Index หรือ Keys ของอาเรย์ตั้งแต่ 1 หรือหลายค่าจากอาเรย์ที่กำหนด ในตัวอย่างเป็นการสุ่มเพียงหนึ่งค่า ถ้าหากคุณต้องการสุ่มหลายค่าสามารถใส่ค่าที่ต้องการเป็นอากิวเมนต์ตัวที่สอง ยกตัวอย่างเช่น array_rand($names, 2); เป็นการสุ่มสองค่าจากอาเรย์ ผลลัพธ์ที่ได้จะเป็นอาเรย์

Danny is found at index = 2
Marcus is chosen to be a winner of the game.

นี่เป็นผลลัพธ์เมื่อรันโปรแกรมในการค้นหาและการสุ่มค่าจากในอาเรย์

ฟังก์ชันจัดการเซ็ตของอาเรย์

ในภาษา PHP มีฟังก์ชันในการจัดการอาเรย์ในทฤษฏีของเซต (Set theory) เช่น Intersect Union และ Difference มาดูตัวอย่างการใช้งานฟังก์ชันเหล่านี้

<?php

$array1 = [1, 2, 4, 5, 6, 7];
$array2 = [1, 2, 3, 5, 8, 9];

$intersect = array_intersect($array1, $array2);
echo "Intersect:\n";
display_array($intersect);

$merge = array_merge($array1, $array2);
echo "Merge:\n";
display_array($merge);

$union = array_unique($merge);
echo "Union:\n";
display_array($union);

$difference = array_diff($array1, $array2);
echo "Difference:\n";
display_array($difference);

function display_array($array) {
    foreach ($array as $el) {
        echo "$el, ";
    }
    echo "\n";
}

?>

ในตัวอย่าง เราได้ใช้ฟังก์ชันเกี่ยวกับการจัดการอาเรย์ในรูปแบบของเซตในภาษา PHP ซึ่งการทำงานของอาเรย์ในการเขียนโปรแกรมนั้นใช้หลักการของเซตในการพัฒนา เรามีตัวแปรอาเรย์สองตัวคือ $array1 และ $array2 และจะนำมากระทำกันในรูปแบบต่างๆ

$intersect = array_intersect($array1, $array2);

ฟังก์ชัน array_intersect() เป็นฟังก์ชันสำหรับหาค่าที่เหมือนกันในอาเรย์ ผลลัพธ์ที่ได้จะเป็นอาเรย์ใหม่ที่มีทั้งในอาเรย์ $array1 และ $array2

$merge = array_merge($array1, $array2);

ฟังก์ชัน array_merge() เป็นฟังก์ชันในการนำอาเรย์มารวมกันและได้ผลลัพธ์เป็นอาเรย์ใหม่

$union = array_unique($merge);

ในภาษา PHP นั้นไม่มีฟังก์ชันสำหรับ Union โดยตรงแต่เราสามารถทำได้โดยการใช้ฟังก์ชัน array_unique() สำหรับตัดค่าที่ซ้ำกันออกไปในอาเรย์ $merge ที่ได้จากการทำงานของฟังก์ชัน array_merge()

$difference = array_diff($array1, $array2);

ฟังก์ชัน array_diff() เป็นฟังก์ชันในการหาผลต่างของอาเรย์โดยเอาอากิวเมนต์ตัวแรก $array1 และลบด้วยอากิวเมนต์ตัวต่อไป

และฟังก์ชัน display_array() เป็นฟังก์ชันที่เราได้เขียนขึ้นสำหรับแสดงข้อมูลในอาเรย์สำหรับตัวอย่างนี้

Intersect:
1, 2, 5,
Merge:
1, 2, 4, 5, 6, 7, 1, 2, 3, 5, 8, 9,
Union:
1, 2, 4, 5, 6, 7, 3, 8, 9,
Difference:
4, 6, 7,
Unique:
A, B, C,

นี่เป็นผลลัพธ์ของโปรแกรมจากการทำงานของฟังก์ชันเซตของอาเรย์

ฟังก์ชันที่เราได้กล่าวมาดังกล่าวนั้น ไม่ได้มีแค่เพียงสองพารามิเตอร์ แต่มันอาจจะมีตั้งแต่หนึ่งหรือหลายพารามิเตอร์ยกเว้นฟังก์ชัน array_unique()

array_intersect($array1);
array_intersect($array1, $array2, $array3, ...);

นี่เป็นตัวอย่างการใช้งานในการส่งในจำนวนอากิวเมนต์ที่แตกต่างกัน

ฟังก์ชันหาค่าที่ไม่ซ้ำกันในอาเรย์

ในภาษา PHP มีฟังก์ชันให้คุณสามารถหาค่าที่ไม่นับกันและนับค่าเหล่านั้นได้ นี่เป็นตัวอย่างการใช้งาน

<?php

$chars = ["A", "B", "A", "C", "C", "D", "D", "D"];
$unique = array_unique($chars);
$count_value = array_count_values($chars);

echo "Unique:\n";
print_r($unique);

echo "Count value:\n";
print_r($count_value);

?>

ฟังก์ชัน array_unique() สำหรับหาค่าที่ไม่ซ้ำกันในอาเรย์ ผลลัพธ์ทีไ่ด้จะเป็นอาเรย์ใหม่ที่มีค่าไม่ซ้ำกัน และฟังก์ชัน array_count_values() เป็นฟังก์ชันสำหรับนับจำนวนสมาชิกที่ซ้ำกันในอาเรย์ ผลลัพธ์ที่ได้จะเป็นอาเรย์ Key value ที่มีคีย์เป็นค่าของข้อมูล และมีค่าเป็นจำนวนที่พบในอาเรย์ต้นฉบับ

Unique:
Array
(
    [0] => A
    [1] => B
    [3] => C
    [5] => D
)
Count value:
Array
(
    [A] => 2
    [B] => 1
    [C] => 2
    [D] => 3
)

นี่เป็นผลลัพธ์การทำงานของโปรแกรมสำหรับตัวอย่างการใช้ฟังก์ชันทั้งสอง

ฟังก์ชัน range() สร้างอาเรย์ลำดับของตัวเลข

ฟังก์ชัน range() เป็นฟังก์ชันสำหรับสร้างอาเรย์ของตัวเลขแบบเรียงลำดับกัน โดยมีการเพิ่มขึ้นหรือลดลงในค่าที่คงที่ ยกตัวอย่างเช่น เราต้องการสร้างอาเรย์ของตัวเลข 1 - 10 มาดูตัวอย่างการใช้งานของฟังก์ชันในภาษา PHP

<?php

$number1 = range(1, 10);
echo "number1: ", implode(" ", $number1), "\n";

$number2 = range(1, 10, 2);
echo "number2: ", implode(" ", $number2), "\n";

$number3 = range(0, 1, 0.2);
echo "number3: ", implode(" ", $number3), "\n";

$number4 = range(10, -5, -1);
echo "number4: ", implode(" ", $number4), "\n";

$alphabets = range('A', 'Z', 1);
echo "alphabets: ", implode(" ", $alphabets), "\n";

?>

ในตัวอย่าง เป็นการสร้างอาเรย์โดยการใช้ฟังก์ชัน range() โดยที่อากิวเมนต์ตัวแรกเป็นค่าเริ่มต้นของค่าในอาเรย์ ตัวที่สองเป็นค่าสุดท้าย และอากิวเมนต์ตัวที่สามนั้นเป็น Default argument เป็นค่าอัพเดทลำดับของตัวเลข โดยปกติแล้วจะมีค่าเป็น 1

$alphabets = range('A', 'Z', 1);

นอกจากนี้ฟังก์ชัน range() ยังสามารถใช้กับตัวอักษรได้

echo "number1: ", implode(" ", $number1), "\n";

ในตัวอย่างเราได้ใช้ฟังก์ชัน implode() ในนำข้อมูลในอาเรย์มาสร้างเป็น String ที่คันด้วย Space " " ซึ่งมันง่ายกว่าก่อนหน้าที่เราใช้คำสั่ง foreach ในการวนอ่านค่าในอาเรย์เพื่อแสดงผล

number1: 1 2 3 4 5 6 7 8 9 10
number2: 1 3 5 7 9
number3: 0 0.2 0.4 0.6 0.8 1
number4: 10 9 8 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5
alphabets: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

นี่เป็นผลลัพธ์การทำงานของโปรแกรมในการใช้ฟังก์ชัน range()

ฟังก์ชันเพิ่มและลบสมาชิกในอาเรย์

ในภาษา PHP คุณสามารถเพิ่มและนำข้อมูลออกจากอาเรย์ด้วยฟังก์ชัน array_push() array_pop() array_unshift() และ array_shift() ซึ่งมีการทำงานดังนี้

<?php

$numbers = [1, 3, 5, 7, 8];

array_push($numbers, 10);

foreach ($numbers as $el) {
    echo "$el, ";
}
echo "\n";

array_pop($numbers);

foreach ($numbers as $el) {
    echo "$el, ";
}
echo "\n";

array_unshift($numbers, -1);

foreach ($numbers as $el) {
    echo "$el, ";
}
echo "\n";

array_shift($numbers);

foreach ($numbers as $el) {
    echo "$el, ";
}
echo "\n";

?>

ในตัวอย่าง เป็นโปรแกรมในการเพิ่มและนำข้อมูลออกจากอาเรย์ด้วยฟังก์ชันต่างๆ ที่มีในภาษา PHP

array_push($numbers, 10);

ฟังก์ชัน array_push() ใช้สำหรับเพิ่มข้อมูลลงไปในตำแหน่งสุดท้ายของอาเรย์ ในตัวอย่างเราได้เพิ่ม 10 ลงไปในอาเรย์

array_pop($numbers);

ฟังก์ชัน array_pop() เป็นฟังก์ชันสำหรับนำออกค่าสุดท้ายในอาเรย์และส่งค่าดังกล่าวกลับมา เพราะว่าเราเพิ่งจะเพิ่ม 10 ลงไปในอาเรย์ทำให้มันเป็นค่าสุดท้ายที่ถูกนำออกมา

ทั้งฟังก์ชัน array_push() และ array_pop() นั้นเป็นฟังก์ชันที่มีการทำงานในรูปแบบของ Stack ซึ่งเป็นโครงสร้างข้อมูลประเภทหนึ่ง

array_unshift($numbers, -1);

ฟังก์ชัน array_unshift() เป็นฟังก์ชันสำหรับเพิ่มข้อมูลไปยังตำแหน่งแรกของอาเรย์ ในขณะที่ฟังก์ชัน array_push() เพิ่มไปยังตำแหน่งสุดท้าย ในตัวอย่างเราได้ใส่ -1 เข้าไปในตำแหน่งแรกของอาเรย์

array_shift($numbers);

และสุดท้ายฟังก์ชัน array_shift() เป็นฟังก์ชันสำหรับนำข้อมูลในตำแหน่งแรกออกจากอาเรย์และส่งค่าดังกล่างกลับมา ในตัวอย่าง -1 ถูกนำออกเพราะมันอยู่ตำแหน่งแรกในอาเรย์

สำหรับฟังก์ชัน array_push() และ array_unshift() นั้น คุณสามารถใส่อากิวเมนต์เพื่อเพิ่มข้อมูลได้มากกว่า 1 ค่า ยกตัวอย่างเช่น array_unshift($numbers, 1, 2, 3) เราได้เพิ่ม 3 ตัวเลขไปยังตำแหน่งแรกของอาเรย์

1, 3, 5, 7, 8, 10,
1, 3, 5, 7, 8,
-1, 1, 3, 5, 7, 8,
1, 3, 5, 7, 8,

นี่เป็นผลลัพธ์การทำงของโปรแกรม

ฟังก์ชันของอาเรย์ Keys และ Values

ในภาษา PHP นั้นมีฟังก์ชันสำหรับจัดการกับอาเรย์ Keys Values เพื่ออำนวยความสะดวก เราจะยกตัวอย่างการใช้งานสำหรับฟังก์ชันที่สำคัญ

<?php

$colors = [
    "FFFFFF" => "White",
    "FF0000" => "Red",
    "FFFF00" => "Yellow",
    "008000" => "Green",
    "0000FF" => "Blue",
    "000000" => "Black"
];

$keys = array_keys($colors);
$values = array_values($colors);

echo "Hex code: ";
foreach ($keys as $el) {
    echo "$el ";
}
echo "\n";

echo "Color name: ";
foreach ($values as $el) {
    echo "$el ";
}
echo "\n";

?>

ในตัวอย่าง เป็นการใช้งานฟังก์ชันในการแยก Key และ Value ออกจากอาเรย์ $colors ซึ่งเป็นอาเรย์แบบ Keys Values

$keys = array_keys($colors);

ฟังก์ชัน array_keys() เป็นฟังก์ชันในการแยก Keys จากอาเรย์ที่กำหนด ผลลัพธ์ที่ได้จะเป็นอาเรย์ใหม่ที่ประกอบไปด้วย Keys

$values = array_values($colors);

สำหรับฟังก์ชัน array_values() เป็นฟังก์ชันในการแยก Values ออกจากอาเรย์ที่กำหนด ผลลัพธ์ที่ได้จะเป็นอาเรย์ใหม่ที่ประกอบไปด้วย Values

Hex code: FFFFFF FF0000 FFFF00 008000 0000FF 000000
Color name: White Red Yellow Green Blue Black

นี่เป็นผลลัพธ์การทำงานของโปรแกรม ซึ่ง Keys ของอาเรย์จะเป็นรหัสของสีในฐานสิบหก และ Values จะเป็นชื่อของสี

ต่อไปเป็นการสร้างอาเรย์แบบ Keys Values ด้วยฟังก์ชัน array_combine() ซึ่งฟังก์ชันนี้มีสองอากิวเมนต์ในการทำงาน อากิวเมนต์แรกเป็นอาเรย์สำหรับ Keys และอากิวเมนต์ที่สองเป็นอาเรย์สำหรับ Values นี่เป็นตัวอย่างการใช้งาน

<?php

$abbr = ["ca", "de", "gr", "ua", "no", "tr"];
$names = ["Canada", "Germany", "Greece", "Ukraine", "Norway", "Turkey"];

$countries = array_combine($abbr, $names);

print_r($countries);

?>

ในตัวอย่าง เรามีสองอาเรย์ที่จะนำมาสร้างเป็นอาเรย์ใหม่ อาเรย์ $abbr นั้นเป็นอักษรย่อของประเทศที่เราจะใช้เป็น Key และอาเรย์ $names เป็นชื่อของประเทศซึ่งจะเป็น Value

Array
(
    [ca] => Canada
    [de] => Germany
    [gr] => Greece
    [ua] => Ukraine
    [no] => Norway
    [tr] => Turkey
)

นี่เป็นผลลัพธ์จากตัวแปรอาเรย์ $countries ที่ได้สร้างจากอาเรย์ทั้งสอง

ฟังก์ชัน array_walk()

ฟังก์ชัน array_walk() นั้นเป็น Callback ฟังก์ชันที่มีการรับพารามิเตอร์เป็น Delegates สำหรับการส่งที่อยู่ของฟังก์ชันให้กับฟังก์ชันเพื่อทำงาน การทำงานของฟังก์ชันจะเป็นการส่งทุกค่าสมาชิกในอาเรย์ไปทำใน Callback ฟังก์ชัน มาดูตัวอย่างการใช้งานในภาษา PHP

<?php

function is_prime_number($value){
    $prime = true;
    for ($i = 2; $i < $value; $i++) {
        if ($value % $i == 0 && $i != $value) {
            $prime = false;
            break;
        }
        }
    if ($prime)
        echo "$value is prime number\n";
    else
        echo "$value is not prime number\n";
}

$numbers = [1, 2, 3, 4, 5, 6, 7, 10, 13, 15, 17];

array_walk($numbers, 'is_prime_number');

// Key value array
function domain_extension($value, $key) {
    echo ".$key is an extension for websites in $value\n";
}

$countries = ["ca" => "Canada", "de" => "Germany", "ua" => "Ukraine", 
"tr" => "Turkey", "th" => "Thailand"];

array_walk($countries, 'domain_extension');

?>

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

array_walk($numbers, 'is_prime_number');

เราได้ส่งอาเรย์ $numbers เพื่อไปทำงานในฟังก์ชัน is_prime_number() ซึ่งเป็นฟังก์ชันในการตรวจสอบถ้าหากตัวเลขเป็นจำนวนเฉพาะ ซึ่งฟังก์ชันจะถูกนำไปใช้กับทุกสมาชิกในอาเรย์

array_walk($countries, 'domain_extension');

เราได้ส่งอาเรย์แบบ Key value ไปทำงานในฟังก์ชัน domain_extension() ซึ่งเป็นฟังก์ชันในการแสดงการใช้งานของโดเมนในแต่ละประเทศ ดังนั้นเราจึงต้องสร้างฟังก์ชันที่มีสองพารามิเตอร์สำหรับ Key และ Value

1 is prime number
2 is prime number
3 is prime number
4 is not prime number
5 is prime number
6 is not prime number
7 is prime number
10 is not prime number
13 is prime number
15 is not prime number
17 is prime number
.ca is an extension for websites in Canada
.de is an extension for websites in Germany
.ua is an extension for websites in Ukraine
.tr is an extension for websites in Turkey
.th is an extension for websites in Thailand

นี่เป็นผลการทำงานของโปรแกรมสำหรับการใช้งานฟังก์ชัน array_walk()

ในบทนี้ คุณได้เรียนรู้ถึงการใช้งานฟังก์ชันที่จำเป็นในภาษา PHP ซึ่งเป็น Built-in function สำหรับอำนวยความสะดวกในการทำงานกับอาเรย์

บทความนี้เป็นประโยชน์หรือไม่? Yes · No