• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

怎么判断字符串中值的类型并将其转换成对应变量类型 例'12.1','10', 'string'->12.1,10,'stri

php 搞代码 4年前 (2022-01-25) 11次浏览 已收录 0个评论

如何判断字符串中值的类型并将其转换成对应变量类型 例’12.1′,’10’, ‘string’->12.1,10,’string’
如何判断字符串中值的类型并将其转换成对应变量类型。
比如%本文@来源gao@!dai!ma.com搞$$代^@码!网搞代gaodaima码有个变量$a = array(‘12.1′,’10’,’string’);要将其变成array(12.1,10,’string’); 该怎么做?
我用eval函数做了下,会出现警告,[email protected],终究不是什么好办法,难道要用正则?

我转类型是用来将数据插入到数据库里的。数据库有什么办法做这方面转换不(我数据库知识很烂)?
各位高手支点高招吧。
下面是我用eval函数做的的代码

PHP code

<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$a = array("12.1","10","sting");foreach ($a as $t){    eval("\$t = $t;");    var_dump($t);    echo '<br />';}

——解决方案——————–
我也是初学者,根据刚学到的点点知识,试编了个段代码,看是不是你所想要的:
<?php
$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”
}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:怎么判断字符串中值的类型并将其转换成对应变量类型 例'12.1','10', 'string'->12.1,10,'stri
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址