ฟังก์ชัน arrayval
ในไลบรารีมาตรฐานของ PHP ไม่มีฟังก์ชัน arrayval แต่เราสามารถสร้างฟังก์ชันที่มีการทำงานคล้ายกันขึ้นมาใช้เองได้ ด้านล่างนี้คือตัวอย่างการสร้างฟังก์ชันซึ่งจะแปลงค่าใดๆ ก็ตามให้เป็นอาร์เรย์: ถ้าค่านั้นเป็นอาร์เรย์อยู่แล้ว ก็จะคืนค่ากลับมาโดยไม่เปลี่ยนแปลง สำหรับประเภทข้อมูลอื่นๆ จะสร้างอาร์เรย์ที่มีสมาชิกเพียงหนึ่งตัว
การสร้างฟังก์ชัน
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
ตัวอย่างการใช้งาน
ลองแปลงสตริงให้เป็นอาร์เรย์โดยใช้ฟังก์ชันของเรา:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
ผลลัพธ์จากการรันโค้ด:
['abcde']
ตัวอย่างการใช้งาน
ลองแปลงตัวเลข:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
ผลลัพธ์จากการรันโค้ด:
[123]
ตัวอย่างการใช้งาน
ลองทดสอบการทำงานกับอาร์เรย์:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
ผลลัพธ์จากการรันโค้ด:
[1, 2, 3]
วิธีอื่นๆ
ใน PHP มีวิธีอื่นๆ สำหรับการแปลงค่าเป็นอาร์เรย์:
<?php
// การใช้ (array) เพื่อแปลงประเภทข้อมูล
$array = (array)'string';
print_r($array); // ['string']
// สำหรับอ็อบเจ็กต์ การแปลงประเภทข้อมูลจะทำงานต่างออกไป
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>