arrayval Fonksiyonu

PHP'nin standart kütüphanesinde arrayval fonksiyonu bulunmamaktadır, ancak benzer bir işlevselliği kendiniz uygulayabilirsiniz. Aşağıda herhangi bir değeri diziye dönüştüren bir uygulama örneği sunulmuştur: eğer değer zaten bir dizi ise, değiştirilmeden döndürülür, diğer tipler için tek elemanlı bir dizi oluşturulur.

Fonksiyon Uygulaması

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

Kullanım Örneği

Fonksiyonumuzu kullanarak bir stringi diziye dönüştürelim:

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

Kodun çalıştırılma sonucu:

php['abcde']

Kullanım Örneği

Bir sayıyı dönüştürmeyi deneyelim:

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

Kodun çalıştırılma sonucu:

php[123]

Kullanım Örneği

Bir dizi ile çalışmasını kontrol edelim:

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

Kodun çalıştırılma sonucu:

php[1, 2, 3]

Alternatif Çözümler

PHP'de diziye dönüştürmenin diğer yolları mevcuttur:

php<?php
  // (array) tip dönüşümü kullanımı
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Nesneler için tip dönüşümü farklı çalışır
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Ayrıca Bakınız

  • is_array fonksiyonu,
    bir değişkenin dizi olup olmadığını kontrol eder
  • settype fonksiyonu,
    bir değişkenin tipini dönüştürür