Функция arrayval
PHP нинг стандарт кутубхонасида arrayval функцияси мавжуд эмас, лекин ўзингиз шуга ўхшаш функционални амалга оширишингиз мумкин. Қуйида ҳар қандай қийматни массива айлантирадиган реализация мисоли келтирилган: агар қиймат аллакач массив бўлса, у ўзгартирилмасдан қайтарилади, бошқа турлар учун эса битта элементли массив яратилади.
Функцияни амалга ошириш
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
?>
Фойдаланиш мисоли
Бизнинг функциямиз ёрдамида сатрни массива айлантирамиз:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval('abcde');
print_r($res);
?>
Кодни ишга тушириш натижаси:
['abcde']
Фойдаланиш мисоли
Сонни айлантириб кўрамиз:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval(123);
print_r($res);
?>
Кодни ишга тушириш натижаси:
[123]
Фойдаланиш мисоли
Массив билан ишлашни текширамиз:
<?php
function arrayval($value): array {
return is_array($value) ? $value : [$value];
}
$res = arrayval([1, 2, 3]);
print_r($res);
?>
Кодни ишга тушириш натижаси:
[1, 2, 3]
Муқобил ечимлар
PHP да массива айлантиришнинг бошқа усуллари мавжуд:
<?php
// (array) тур ўзгартиришдан фойдаланиш
$array = (array)'string';
print_r($array); // ['string']
// Объектлар учун тур ўзгартириш бошқча ишлайди
$obj = new stdClass();
$obj->prop = 'value';
$array = (array)$obj;
print_r($array); // ['prop' => 'value']
?>