Funktionen arrayval

Der er ingen arrayval-funktion i PHP's standardbibliotek, men du kan implementere lignende funktionalitet selv. Nedenfor vises et eksempel på en implementering, der konverterer enhver værdi til et array: hvis værdien allerede er et array, returneres den uændret, for andre typer oprettes et array med ét element.

Implementering af funktionen

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

Eksempel på brug

Lad os konvertere en streng til et array ved hjælp af vores funktion:

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

Resultatet af kodeudførelsen:

php['abcde']

Eksempel på brug

Lad os prøve at konvertere et tal:

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

Resultatet af kodeudførelsen:

php[123]

Eksempel på brug

Lad os tjekke arbejdet med et array:

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

Resultatet af kodeudførelsen:

php[1, 2, 3]

Alternative løsninger

Der findes andre måder at konvertere til et array i PHP:

php<?php
  // Brug af (array) typekonvertering
  $array = (array)'string';
  print_r($array); // ['string']
  
  // For objekter fungerer typekonvertering anderledes
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Se også

  • funktionen is_array,
    som kontrollerer om en variabel er et array
  • funktionen settype,
    som konverterer typen af en variabel