1. 程式人生 > >php 將一個變數轉為字串

php 將一個變數轉為字串

/**
 * 將一個變數轉為字串
 *  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'" */