Функцыя arrayval

У стандартнай бібліятэцы PHP няма функцыі arrayval, але можна рэалізаваць падобную функцыянальнасць самастойна. Ніжэй прадстаўлены прыклад рэалізацыі, якая пераўтварае любое значэнне ў масіў: калі значэнне ўжо з'яўляецца масівам, яно вяртаецца без зменаў, для іншых тыпаў ствараецца масіў з адным элементам.

Рэалізацыя функцыі

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

Прыклад выкарыстання

Пераўтворым радок у масіў з дапамогай нашай функцыі:

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

Вынік выканання кода:

php['abcde']

Прыклад выкарыстання

Паспрабуем пераўтварыць лік:

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

Вынік выканання кода:

php[123]

Прыклад выкарыстання

Праверым працу з масівам:

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

Вынік выканання кода:

php[1, 2, 3]

Альтэрнатыўныя рашэнні

У PHP існуюць іншыя спосабы пераўтварэння ў масіў:

php<?php
  // Выкарыстанне (array) прывядзення тыпу
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Для аб'ектаў прывядзенне тыпу працуе інакш
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Глядзіце таксама

  • функцыю is_array,
    якая правярае, ці з'яўляецца пераменная масівам
  • функцыю settype,
    якая пераўтварае тып пераменнай