Funktsioon arrayval

PHP standardteegis pole funktsiooni arrayval, kuid sarnast funktsionaalsust saab ise rakendada. Allpool on toodud rakenduse näide, mis teisendab mis tahes väärtuse massiiviks: kui väärtus on juba massiiv, tagastatakse see muutmata, teistel juhtudel luuakse ühe elemendiga massiiv.

Funktsiooni rakendamine

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

Kasutamise näide

Teisendame stringi massiiviks meie funktsiooni abil:

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

Koodi täitmise tulemus:

php['abcde']

Kasutamise näide

Proovime teisendada numbri:

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

Koodi täitmise tulemus:

php[123]

Kasutamise näide

Kontrollime tööd massiiviga:

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

Koodi täitmise tulemus:

php[1, 2, 3]

Alternatiivsed lahendused

PHP-s on olemas teisi viise massiiviks teisendamiseks:

php<?php
  // Kasutamine (array) tüübi teisendust
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Objektide puhul töötab tüübi teisendus teistmoodi
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Vaata ka

  • funktsiooni is_array,
    mis kontrollib, kas muutuja on massiiv
  • funktsiooni settype,
    mis teisendab muutuja tüübi