怎么判断字符串中值的类型并将其转换成对应变量类型例'12.1','10','string'->12.1,10,'string'
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了怎么判断字符串中值的类型并将其转换成对应变量类型例'12.1','10','string'->12.1,10,'string',小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1497字,纯文字阅读大概需要3分钟。
内容图文
![怎么判断字符串中值的类型并将其转换成对应变量类型例](/upload/InfoBanner/zyjiaocheng/211/fce830f110ae47bfaf2ad4acb60b85fb.jpg)
如何判断字符串中值的类型并将其转换成对应变量类型。
比如有个变量$a = array('12.1','10','string');要将其变成array(12.1,10,'string'); 该怎么做?
我用eval函数做了下,会出现警告,虽然可以用@抑制住,终究不是什么好办法,难道要用正则?
我转类型是用来将数据插入到数据库里的。数据库有什么办法做这方面转换不(我数据库知识很烂)?
各位高手支点高招吧。
下面是我用eval函数做的的代码
- PHP code
$a = array("12.1","10","sting"); foreach ($a as $t) { eval("\$t = $t;"); var_dump($t); echo '
'; }
------解决方案--------------------
我也是初学者,根据刚学到的点点知识,试编了个段代码,看是不是你所想要的:
$a=array("12","10.8","string");
foreach($a as $key=>$value)
echo $value.':'.gettype($value).'
';
function changetype(&$value)
{
if (is_numeric($value)){
if (strstr($value,'.'))
settype($value,'double');
else
settype($value,'integer');
}
}
array_walk($a,'changetype');
foreach($a as $key=>$value)
echo $value.':'.gettype($value).'
';
?>
运行结果显示如下:
12:string
10.8:string
string:string
12:integer
10.8:double
string:string
――――――――――
------解决方案--------------------
/*** 给传入的数据赋予正确的类型 **/
function format(&$v) {
if(is_array($v)) {
$v = array_map('format', $v);
}
if(is_numeric($v)) $v += 0;
return $v;
}
$a = array("12.1","10","sting");
var_dump($a);
format($a);
var_dump($a);
执行前
array(3) {
[0]=>
string(4) "12.1"
[1]=>
string(2) "10"
[2]=>
string(5) "sting"
}
执行后
array(3) {
[0]=>
float(12.1)
[1]=>
int(10)
[2]=>
string(5) "sting"
}
内容总结
以上是互联网集市为您收集整理的怎么判断字符串中值的类型并将其转换成对应变量类型例'12.1','10','string'->12.1,10,'string'全部内容,希望文章能够帮你解决怎么判断字符串中值的类型并将其转换成对应变量类型例'12.1','10','string'->12.1,10,'string'所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。