スポンサードリンク

PHP
PHP
PHPExcelでエクセルファイルを作成した時に

普通にPHPで計算したものを

出力していたのですが、

そのままだと数字が文字列の型になっているため

テンプレートの数式が使えないことがありましたので

型を変換するキャストをしてみました。

スポンサードリンク

型のキャスト

PHP
PHP
計算した結果がString型のため

整数型のint型にキャストさせます。

<?php
$sum = 10;   // $sum は文字列です
$result = (int) $sum;   // $result は整数です
?>

上記のように

変換しようとする型を括弧で括って、

キャストする変数の前に置きます。

それだけで、型のキャストができます。

今回だと、文字列を整数にキャストさせています。

この状態でPHPExcelで出力させたところ

問題なく整数で出力されて

テンプレートに書いてった数式も使えるようになりました。

他にもキャストできるものは以下のものがあります。

(int), (integer) 整数へのキャスト
(bool), (boolean) 論理値へのキャスト
(float), (double), (real) float へのキャスト
(string) 文字列へのキャスト
(array) 配列へのキャスト
(object) オブジェクトへのキャスト
(unset) NULL へのキャスト (PHP 5)

PHPは型を意識しなくても使えるので

こういう時に、そうだったって思い出しますね。

(参考)
型の相互変換

スポンサードリンク