Kazi arrayval

Katika maktaba ya kawaida ya PHP hakuna kazi arrayval, lakini unaweza kutekeleza utendakazi kama huo wewe mwenywe. Hapa chini kuna mfano wa utekelezaji ambao hubadilisha thamani yoyote kuwa safu: ikiwa thamani tayari ni safu, hurudishwa bila mabadiliko, kwa aina nyingine huundwa safu na kipengele kimoja.

Utekelezaji wa Kazi

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

Mfano wa Matumizi

Wacha tubadilishe mfuatano wa wahusika kuwa safu kwa kutumia kazi yetu:

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

Matokeo ya utekelezaji wa kodi:

php['abcde']

Mfano wa Matumizi

Wacha tujaribu kubadilisha nambari:

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

Matokeo ya utekelezaji wa kodi:

php[123]

Mfano wa Matumizi

Wacha tuangalie utendaji kazi na safu:

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

Matokeo ya utekelezaji wa kodi:

php[1, 2, 3]

Suluhisho Mbadala

Katika PHP kuna njia zingine za kubadilisha kuwa safu:

php<?php
  // Matumizi ya (array) kubadilisha aina
  $array = (array)'string';
  print_r($array); // ['string']
  
  // Kwa vitu kubadilisha aina hufanya kazi tofauti
  $obj = new stdClass();
  $obj->prop = 'value';
  $array = (array)$obj;
  print_r($array); // ['prop' => 'value']
?>

Angalia Pia

  • kazi is_array,
    ambayo inakagua ikiwa kutofautisha ni safu
  • kazi settype,
    ambayo inabadilisha aina ya kutofautisha