ფუნქცია 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,
    რომელიც ცვლადის ტიპს გარდაქმნის