Hàm arrayval
Trong thư viện chuẩn của PHP không có hàm arrayval, nhưng bạn có thể tự mình triển khai chức năng tương tự. Dưới đây là ví dụ triển khai, chuyển đổi bất kỳ giá trị nào thành mảng: nếu giá trị đã là một mảng, nó được trả về mà không thay đổi, đối với các kiểu khác, một mảng với một phần tử được tạo.
Triển khai hàm
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Ví dụ sử dụng
Chuyển đổi một chuỗi thành mảng bằng hàm của chúng tôi:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Kết quả thực thi mã:
['abcde']
Ví dụ sử dụng
Hãy thử chuyển đổi một số:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Kết quả thực thi mã:
[123]
Ví dụ sử dụng
Kiểm tra hoạt động với mảng:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Kết quả thực thi mã:
[1, 2, 3]
Giải pháp thay thế
Trong PHP tồn tại các cách khác để chuyển đổi thành mảng:
<?php
// Sử dụng chuyển đổi kiểu (array)
$array = (array)'string';
print_r($array); // ['string']
// Đối với đối tượng, chuyển đổi kiểu hoạt động khác
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>