Funksie arrayval

Daar is geen arrayval-funksie in PHP se standaardbiblioteek nie, maar jy kan soortgelyke funksionaliteit self implementeer. Hieronder is 'n voorbeeldimplementasie wat enige waarde in 'n array omskakel: as die waarde reeds 'n array is, word dit sonder veranderinge teruggegee; vir ander tipes word 'n array met een element geskep.

Implementasie van die funksie

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

Voorbeeld van gebruik

Laat ons 'n string na 'n array omskakel met behulp van ons funksie:

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

Resultaat van die kode-uitvoering:

php['abcde']

Voorbeeld van gebruik

Kom ons probeer om 'n nommer om te skakel:

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

Resultaat van die kode-uitvoering:

php[123]

Voorbeeld van gebruik

Kom ons toets die werking met 'n array:

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

Resultaat van die kode-uitvoering:

php[1, 2, 3]

Alternatiewe oplossings

Daar is ander maniere om na 'n array om te skakel in PHP:

php<?php
  // Gebruik van (array) tipe-omskakeling
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Vir voorwerpe werk tipe-omskakeling anders
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Sien ook

  • die funksie is_array,
    wat toets of 'n veranderlike 'n array is
  • die funksie settype,
    wat die tipe van 'n veranderlike omskakel