Funksioni arrayval

Në librarinë standarde të PHP nuk ka funksion arrayval, por mund të implementoni funksionalitet të ngjashëm vetë. Më poshtë paraqitet një shembull implementimi, i cili shndërron çdo vlerë në array: nëse vlera është tashmë array, ajo kthehet pa ndryshime, për llojet e tjera krijohet një array me një element.

Implementimi i funksionit

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

Shembull përdorimi

Le të shndërrojmë një varg në array duke përdorur funksionin tonë:

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

Rezultati i ekzekutimit të kodit:

php['abcde']

Shembull përdorimi

Le të përpiqemi të shndërrojmë një numër:

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

Rezultati i ekzekutimit të kodit:

php[123]

Shembull përdorimi

Le të kontrollojmë punën me array:

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

Rezultati i ekzekutimit të kodit:

php[1, 2, 3]

Zgjidhje alternative

Në PHP ekzistojnë mënyra të tjera për shndërrim në array:

php<?php
  // Përdorimi i (array) për të kastuar llojin
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Për objektet kastimi i llojit funksionon ndryshe
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Shihni gjithashtu

  • funksionin is_array,
    i cili kontrollon nëse një variabël është array
  • funksionin settype,
    i cili shndërron llojin e variablës