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