日期:2014-05-17  浏览次数:20677 次

PHP 类型转换问题
本人写了如下的代码

<?php
    $a = '';        // $a = "" 
    var_dump($a);   // string(0) ""
    echo "<br>";
    $b = 1;
    var_dump($b);   // int(1)
    echo "<br>";
    $a += $b;
    var_dump($a);   // int(1),问题就在这,怎么让变量a为string型?
    exit;


请问:
PHP的变量默认转型的规则是什么?
在开发中最常使用的强制转换函数是什么?
php string

------解决方案--------------------
var_dump((string)$a);
------解决方案--------------------
$a += $b

$a = $a + $b
既然你是在做算数运算,结果当然是数值而不是串

$a .= $b
就是字符串了
------解决方案--------------------
$a = strval($a);
------解决方案--------------------
$a = intval($a);$a = int($a),这两个都是强制转换为整型
------解决方案--------------------

var_dump((string)$a);//方法1
var_dump(strval($a));//方法2
settype($a,"string");//方法3
var_dump($a);

------解决方案--------------------
基础,多看一下php手册!
------解决方案--------------------
比如:
$a = '1';
$b = '2';   //$b = 2; 为int也是一样的结果

$a += $b;   //输入3
$a .= $b;   //输入12

这在里就要看LZ是要进行什么样的操作了。