arrayval funksiyasi

PHPning standart kutubxonasida arrayval funksiyasi mavjud emas, lekin shunga o'xshash funksionallikni mustaqil ravishda amalga oshirish mumkin. Quyida har qanday qiymatni massivga aylantiradigan realizatsiya misoli keltirilgan: agar qiymat allaqachon massiv bo'lsa, u o'zgartirishsiz qaytariladi, boshqa turlar uchun esa bitta elementli massiv yaratiladi.

Funksiyani realizatsiya qilish

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

Foydalanish misoli

Satrni massivga aylantiramiz, bizning funksiyamiz yordamida:

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

Kod bajarish natijasi:

php['abcde']

Foydalanish misoli

Sonni aylantirishga harakat qilaylik:

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

Kod bajarish natijasi:

php[123]

Foydalanish misoli

Massiv bilan ishlashni tekshiramiz:

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

Kod bajarish natijasi:

php[1, 2, 3]

Muqobil yechimlar

PHPda massivga aylantirishning boshqa usullari mavjud:

php<?php
  // (array) tip o'zgartirishdan foydalanish
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Ob'ektlar uchun tip o'zgartirish boshqacha ishlaydi
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Shuningdek qarang

  • is_array funksiyasi,
    o'zgaruvchi massiv ekanligini tekshiradi
  • settype funksiyasi,
    o'zgaruvchi tipini o'zgartiradi