PHP 资料库取值字串型态问题与解决纪录

问题描述
资料库栏位型态里面设定的型态是varchar
http://img2.58codes.com/2024/20146740fIZtU3KvbW.png
但在php里面取值时(如下面程式码),有可能取到integer的型态

$array_function = array();for($i=0;$i<$dataCount;$i++){ $result_arr = mysqli_fetch_assoc($result); $fn = $result_arr['function_name']; $array_function[$fn] = array();}

查了以后发现即使你mysql里面设定是varchar,但你用php取值后,若是你的资料是整数,他还是会认成是整数的型态
http://img2.58codes.com/2024/20146740AJFJkdeyDZ.png
PHP阵列索引
阵列索引部分可以是整数,也可以是字串,就依据你想要的型态。
所以在设定的时候我会把上面的code改成

$array_function["$fn"] = array();

让他always是字串型态,因为你的索引有整数也有字串会混淆

单引号跟双引号的差别
PHP 会编译「双引号」字串内的变数,而「单引号」则视为纯字串输出,所以单引号会让 PHP 执行速度比较快
而上面的例子$array_function[“$fn”],他就是把$fn经过了编译变成了字串,让我得索引都能是字串的型态

php转型成字串

用strval()转型成字串
strval($variableName);
显式转换
$string = (string)$intVariable
利用双引号编译
$variable = 1111111;$string1 = “$variable”;

双引号怎么显示特殊符号
反斜线

$test = 123;echo "$test";echo "<br>";echo "\$test";

http://img2.58codes.com/2024/20146740XYFQiTRFkR.png

结论

PHP 设计师通常会利用反斜线(\)跳脱字元,让单引号(’)或双引号(”)能够 echo 出来PHP 会编译「双引号」字串内的变数,而「单引号」则视为纯字串输出,单引号会让 PHP 执行速度比较快“$func”跟(string)$func会等价,因为双引号会编译变数内容

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章