Функција 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,
    која го конвертира типот на променливата