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<?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<?php
  function arrayval($value): array {
    return is_array($value) ? $value : [$value];
  }
  
  $res = arrayval('abcde');
  print_r($res);
?>

Kết quả thực thi mã:

php['abcde']

Ví dụ sử dụng

Hãy thử chuyển đổi một số:

php<?php
  function arrayval($value): array {
    return is_array($value) ? $value : [$value];
  }
  
  $res = arrayval(123);
  print_r($res);
?>

Kết quả thực thi mã:

php[123]

Ví dụ sử dụng

Kiểm tra hoạt động với mảng:

php<?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ã:

php[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<?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']
?>

Xem thêm

  • hàm is_array,
    hàm kiểm tra xem một biến có phải là mảng không
  • hàm settype,
    hàm chuyển đổi kiểu của biến