Functie arrayval

De standaardbibliotheek van PHP heeft geen arrayval-functie, maar je kunt vergelijkbare functionaliteit zelf implementeren. Hieronder staat een voorbeeldimplementatie die elke waarde naar een array converteert: als de waarde al een array is, wordt deze ongewijzigd geretourneerd; voor andere typen wordt een array met één element gemaakt.

Implementatie van de functie

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

Voorbeeld van gebruik

Laten we een string naar een array converteren met onze functie:

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

Resultaat van de code-uitvoering:

php['abcde']

Voorbeeld van gebruik

Laten we proberen een getal te converteren:

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

Resultaat van de code-uitvoering:

php[123]

Voorbeeld van gebruik

Laten we de werking met een array controleren:

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

Resultaat van de code-uitvoering:

php[1, 2, 3]

Alternatieve oplossingen

In PHP bestaan er andere manieren om naar een array te converteren:

php<?php
  // Gebruik van (array) type casting
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Voor objecten werkt type casting anders
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Zie ook

  • de functie is_array,
    die controleert of een variabele een array is
  • de functie settype,
    die het type van een variabele converteert