หน้าเว็บ

วันพฤหัสบดีที่ 31 มกราคม พ.ศ. 2556

17 ฟังก์ชันที่มีประโยชน์สำหรับจัดการอาร์เรย์ใน PHP.


1. sizeof($arr) *ใช้ count($arr) ก็ได้
ฟังก์ชั่นนี้จะคืนค่าจำนวนค่าทั้งหมดที่อยู่ใน array
$data = array("red", "green", "blue");
echo "Array has " . sizeof($data) . " elements"; // มี 3 ค่าใน array
// Output : Array has 3 elements
2. array_values($arr)
ฟังก์ชั่นนี้จะคืนค่า value ใน associative array
$data = array("hero" => "Holmes", "villain" => "Moriarty");
print_r(array_values($data));// คืนค่าเฉพาะ value
/* Output : 
Array
(
[0] => Holmes
[1] => Moriarty 
)*/
3. array_key($arr)
ฟังก์ชั่นนี้จะคืนค่า key ใน associative array
$data = array("hero" => "Holmes", "villain" => "Moriarty");
print_r(array_key($data)); // คืนค่าเฉพาะ key
/* Output : 
Array
(
[0] => hero
[1] => villain
)*/
4. array_pop($arr)
ฟังก์ชั่นนี้จะเอาค่า index สุดท้ายใน array ออก
$data = array("Donald", "Jim", "Tom");
array_pop($data); // Tom ถูกถอดออก
print_r($data);
/* Output : 
Array
(
[0] => Donald
[1] => Jim
)*/
5. array_push($arr,$val)
ฟังก์ชั่นนี้จะเพิ่มค่าลงไปใน array
$data = array("Donald", "Jim", "Tom");
array_push($data, "Harry"); // เพิ่ม Harry ลงใน array $data
print_r($data);
/* Output : 
Array
(
[0] => Donald
[1] => Jim
[2] => Tom
[3] => Harry
)*/
6. array_shift($arr,$val)
ฟังก์ชั่นนี้จะเอาค่าแรก index ที่ 0 ใน array ออก
$data = array("Donald", "Jim", "Tom");
array_shift($data); // Donald ซึ่งเป็น $data[0] จะถูกถอดออกไป
print_r($data);
/* Output : 
Array
(
[0] => Jim
[1] => Tom
)*/
7. array_unshift($arr, $val)
ฟังก์ชั่นนี้จะเพิ่มค่าลงใน index ที่ 0 ใน array
$data = array("Donald", "Jim", "Tom");
array_unshift($data, "Sarah"); // Sarah ถูกเพิ่มเข้ามาเป็น $data[0]
print_r($data);
/* Output : 
Array
(
[0] => Sarah
[1] => Donald
[2] => Jim
[3] => Tom
)*/
8. each($arr)
ฟังก์ชั่นนี้จะวนนำค่าใน array เข้ามาใน while loop เพื่อแสดง
$data = array("hero" => "Holmes", "villain" => "Moriarty");
while (list($key, $value) = each($data)) {
echo "$key: $value \n";
}
/* Output : 
hero: Holmes 
villain: Moriarty*/
9. sort($arr)
ฟังก์ชั่นนี้จะเรียงลำดับค่าใน array ตามตัวอักษร
$data = array("g", "t", "a", "s");
sort($data); // เรียงลำดับ a-z
print_r($data);
/* Output : 
Array
(
[0] => a
[1] => g
[2] => s
[3] => t
)*/
10. array_flip($arr)
ฟังก์ชั่นนี้ใช้สลับ key กับ value
$data = array("a" => "apple", "b" => "ball");
print_r(array_flip($data)); // สลับค่ากัน
/* Output : 
Array
(
[apple] => a
[ball] => b
)*/
11. array_reverse($arr)
ฟังก์ชั่นนี้ใช้ย้อนกลับค่าใน array (เช่นต้องการเรียงลำดับจากมากไปน้อย)
$data = array(10, 20, 25, 60);
print_r(array_reverse($data)); // เรียงจากหลังไปหน้า 
/* Output : 
Array
(
[0] => 60
[1] => 25
[2] => 20
[3] => 10
)*/
12. array_merge($arr)
ฟังก์ชั่นนี้ใช้ผสานหรือรวม array เข้าด้วยกัน
$data1 = array("cat", "goat");
$data2 = array("dog", "cow");
print_r(array_merge($data1, $data2)); // รวม 2 อาร์เรย์เข้าด้วยกัน
/* Output : 
Array
(
[0] => cat
[1] => goat
[2] => dog
[3] => cow
)*/
13. array_rand($arr)
ฟังก์ชั่นนี้ใช้สุ่มเลือกค่าใน array
$data = array("white", "black", "red");
echo "Today's color is " . $data[array_rand($data)]; //สุ่มค่า
/* Output : 
Today's color is red*/
14. array_search($search, $arr)
ฟังก์ชั่นนี้ใช้ค้นหาค่าใน array ถ้าพบจะถูกส่งค่ากลับไป
$data = array("blue" => "#0000cc", "black" => "#000000", "green" => "#00ff00");
echo "Found " . array_search("#0000cc", $data); // ค้นหา
/* Output : 
Found blue*/
15. array_slice($arr, $offset, $length)
ฟังก์ชั่นนี้ใช้แบ่งกลุ่ม array
$data = array("vanilla", "strawberry", "mango", "peaches");
print_r(array_slice($data, 1, 2)); // แบ่งแยกค่า
/* Output : 
Array
(
[0] => strawberry
[1] => mango
)*/
16. array_unique($data)
ฟังก์ชั่นนี้ช่่วยในการเอาค่าที่ซ้ำกันใน array ออกไป
$data = array(1,1,4,6,7,4);
print_r(array_unique($data)); // เอาค่าซ้ำออก (1,4)
/* Output : 
Array
(
[0] => 1
[3] => 6
[4] => 7
[5] => 4
)*/
17. array_walk($arr, $func)
ฟังก์ชั่นนี้ช่่วยในการส่งฟังก์ชั่นที่ต้องการเข้าไปกระทำในทุกค่าใน array
function reduceBy10(&$val, $key) {
$val -= $val * 0.1;
}

$data = array(10,20,30,40);
array_walk($data, 'reduceBy10'); // ส่งฟังก์ชั่น reduceBy10 เข้าไปกระทำกับทุก elements ใน array
print_r($data);
/* Output : 
Array
(
[0] => 9
[1] => 18
[2] => 27
[3] => 36
)*/

แปลจาก : http://www.techrepublic.com/article/17-useful-functions-for-manipulating-arrays-in-php/5792851

1 ความคิดเห็น: