arrayval funksiyası

PHP-nin standart kitabxanasında arrayval funksiyası yoxdur, lakin oxşar funksionallığı özünüz reallaşdıra bilərsiniz. Aşağıda hər hansı bir dəyəri massivə çevirən bir reallaşdırılma nümunəsi təqdim olunur: əgər dəyər artıq massivdirsə, dəyişiklik olmadan qaytarılır, digər tiplər üçün bir elementli massiv yaradılır.

Funksiyanın reallaşdırılması

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

İstifadə nümunəsi

Funksiyamızın köməyi ilə sətri massivə çevirək:

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

Kodun icrasının nəticəsi:

php['abcde']

İstifadə nümunəsi

Gəlin ədədi çevirməyə çalışaq:

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

Kodun icrasının nəticəsi:

php[123]

İstifadə nümunəsi

Massivlə işi yoxlayaq:

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

Kodun icrasının nəticəsi:

php[1, 2, 3]

Alternativ həllər

PHP-də massivə çevirmək üçün başqa üsullar da mövcuddur:

php<?php
  // (array) tip çevirmədən istifadə
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Obyektlər üçün tip çevirmə fərqli işləyir
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Həmçinin baxın

  • is_array funksiyasına,
    bu dəyişənin massiv olub-olmadığını yoxlayır
  • settype funksiyasına,
    bu dəyişənin tipini çevirir