Funcția arrayval

În biblioteca standard PHP nu există funcția arrayval, dar puteți implementa o funcționalitate similară independent. Mai jos este prezentat un exemplu de implementare, care transformă orice valoare în array: dacă valoarea este deja un array, aceasta este returnată fără modificări, pentru alte tipuri este creat un array cu un element.

Implementarea funcției

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

Exemplu de utilizare

Să transformăm un șir de caractere în array cu ajutorul funcției noastre:

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

Rezultatul executării codului:

php['abcde']

Exemplu de utilizare

Să încercăm să transformăm un număr:

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

Rezultatul executării codului:

php[123]

Exemplu de utilizare

Să verificăm funcționarea cu un array:

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

Rezultatul executării codului:

php[1, 2, 3]

Soluții alternative

În PHP există alte modalități de transformare în array:

php<?php
  // Utilizarea conversiei de tip (array)
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Pentru obiecte conversia de tip funcționează diferit
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Vedeți și

  • funcția is_array,
    care verifică dacă o variabilă este un array
  • funcția settype,
    care transformă tipul variabilei