php 將一個變數轉為字串
阿新 • • 發佈:2019-02-13
/**
* 將一個變數轉為字串
* float使用var_export得到的字串不準確
* resource使用var_export得到的是null
* @param $variable
* @return string
*/
function variable_to_string($variable)
{
return is_float($variable)
?
(string)$variable
:
(
is_resource($variable)
?
"'resource of type'"
:
var_export($variable, true)
);
}
// int
$a = 4;
var_dump(variable_to_string($a));
/**
* 輸出:string(1) "4"
*/
// float
$a = 100.4;
var_dump(variable_to_string($a));
/**
* 輸出:string(5) "100.4"
*/
// string
$a = 'abcdefg';
var_dump(variable_to_string($a));
/**
* 輸出:string(9) "'abcdefg'"
*/
// array
$a = ['a' => 'a', 'b' => 'b'];
var_dump(variable_to_string($a));
/**
* 輸出:string(37) "array (
* 'a' => 'a',
* 'b' => 'b',
* )"
*/
// object
$a = new stdClass();
$a->a = 'a';
$a->b = 'b';
var_dump(variable_to_string($a));
/**
* 輸出:string(61) "stdClass::__set_state(array(
* 'a' => 'a',
* 'b' => 'b',
* ))"
*/
// bool
$a = false;
var_dump(variable_to_string($a));
/**
* 輸出:string(5) "false"
*/
// null
$a = null;
var_dump(variable_to_string($a));
/**
* 輸出:string(4) "NULL"
*/
// resource
$a = fopen('./test.log', 'wb+');
var_dump(variable_to_string($a));
/**
* 輸出:string(18) "'resource of type'"
*/