arrayval ֆունկցիա

PHP-ի ստանդարտ գրադարանում չկա arrayval ֆունկցիա, սակայն նմանատիպ ֆունկցիոնալությունը կարելի է իրականացնել ինքնուրույն: Ստորև ներկայացված է իրականացման օրինակ, որը ցանկացած արժեք վերածում է զանգվածի: եթե արժեքն արդեն զանգված է, այն վերադարձվում է առանց փոփոխության, մյուս տեսակների համար ստեղծվում է մեկ տարր պարունակող զանգված:

Ֆունկցիայի իրականացում

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

Օգտագործման օրինակ

Վերածենք տողը զանգվածի մեր ֆունկցիայի միջոցով:

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

Կոդի կատարման արդյունք:

php['abcde']

Օգտագործման օրինակ

Փորձենք վերածել թիվ:

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

Կոդի կատարման արդյունք:

php[123]

Օգտագործման օրինակ

Ստուգենք աշխատանքը զանգվածի հետ:

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

Կոդի կատարման արդյունք:

php[1, 2, 3]

Այլընտրանքային լուծումներ

PHP-ում գոյություն ունեն զանգվածի վերածելու այլ եղանակներ:

php<?php
  // Օգտագործելով (array) տիպի վերածում
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Օբյեկտների համար տիպի վերածումն աշխատում է այլ կերպ
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Տես նաև

  • is_array ֆունկցիան,
    որը ստուգում է, արդյոք փոփոխականը զանգված է
  • settype ֆունկցիան,
    որը վերափոխում է փոփոխականի տիպը