関数 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']
?>