Az arrayval függvény

A PHP standard könyvtárában nincs arrayval függvény, de hasonló funkcionalitást implementálhatunk saját magunk. Az alábbiakban egy példaimplementáció látható, amely bármilyen értéket tömbbe konvertál: ha az érték már tömb, akkor változatlanul visszaadja, más típusok esetén egy elemű tömböt hoz létre.

A függvény implementációja

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

Példa a használatra

Konvertáljunk egy stringet tömbbé a mi függvényünkkel:

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

A kód végrehajtásának eredménye:

php['abcde']

Példa a használatra

Próbáljunk meg egy számot konvertálni:

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

A kód végrehajtásának eredménye:

php[123]

Példa a használatra

Ellenőrizzük a működést tömbbel:

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

A kód végrehajtásának eredménye:

php[1, 2, 3]

Alternatív megoldások

>A PHP-ban más módszerek is léteznek a tömbbe konvertálásra:

php<?php
  // A (array) típuskonverzió használata
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Objektumok esetén a típuskonverzió másképp működik
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Lásd még

  • a is_array függvényt,
    amely ellenőrzi, hogy egy változó tömb-e
  • a settype függvényt,
    amely egy változó típusát konvertálja