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