我有一个布尔变量,我想转换成一个字符串:

$res = true;

我需要转换值的格式为:“真”“假”,而不是“0”“1”

$converted_res = "true";
$converted_res = "false";

我试过了:

$converted_res = string($res);
$converted_res = String($res);

但它告诉我string和string不是被识别的函数。 如何将这个布尔值转换为PHP中“真”或“假”格式的字符串?


当前回答

这也适用于任何类型的价值:

$a = true;

echo $a                     // outputs:   1
echo value_To_String( $a )  // outputs:   true

代码:

function valueToString( $value ){ 
    return ( !is_bool( $value ) ?  $value : ($value ? 'true' : 'false' )  ); 
}

其他回答

最简单的解决方案:

$converted_res = $res ?'true': 'false';

在PHP中使用strval()或(string)转换为字符串。 但是,这并不能将布尔值转换为“true”或“false”的实际拼写,所以您必须自己完成。 下面是一个示例函数:

function strbool($value)
{
    return $value ? 'true' : 'false';
}
echo strbool(false); // "false"
echo strbool(true); // "true"

另一种方法:json_encode(booleanValue)

echo json_encode(true);  // string "true"

echo json_encode(false); // string "false"

// null !== false
echo json_encode(null);  // string "null"

试试这个:

 $value = !is_bool($value) ? $value : ( $value ? "true" : "false");
$converted_res = isset ( $res ) ? ( $res ? 'true' : 'false' ) : 'false';