字符串转化为数字???
今天遇到个比较奇怪的现象,很可能是我储备还不够吧,包含引号的数字的字符串转化为数字时出现了问题
"1000","902865066306","02865066306","SIP Phone","IP Trunk","","trunk20","ON2OFF","1333230069","1333230072","1333230134","65","62","Connected"
$arr = '"1000","902865066306","02865066306","SIP Phone","IP Trunk","","trunk20","ON2OFF","1333230069","1333230072","1333230134","65","62","Connected"';
$arr = explode(',',$arr);
print_r($arr);
Array
(
[0] => "1000"
[1] => "902865066306"
[2] => "02865066306"
[3] => "SIP Phone"
[4] => "IP Trunk"
[5] => ""
[6] => "trunk20"
[7] => "ON2OFF"
[8] => "1333230069"
[9] => "1333230072"
[10] => "1333230134"
[11] => "65"
[12] => "62"
[13] => "Connected"
)
echo $arr[8] + 0; //结果为0
$num = "1333230069";
echo $num+0;//1333230069
$arr = '"1000","902865066306","02865066306","SIP Phone","IP Trunk","","trunk20","ON2OFF","1333230069","1333230072","1333230134","65","62","Connected"';Array
$t = json_decode("[$arr]");
print_r($t);
是 '"1333230069"'
echo $arr[8] + 0;
就是
echo '"1333230069"' + 0;
当然要输出 0 啦!
这样 echo '1333230069"' + 0;
就输出 1333230069 了
字符串转换成数字,是从左边开始去取数字字符的(左边的空格、+、-都是有效的)
[其他解释]
$a=str_getcsv($arr);
var_dump($a[8]);
[其他解释]
根据你提供的信息我自己也测试了下:
<?php
$arr= Array
(0 => "1000",
1 => "902865066306",
2 => "02865066306",
3 => "SIP Phone",
4 => "IP Trunk",
5 => "",
6 => "trunk20",
7 => "ON2OFF",
8 => "1333230069",
9 => "1333230072",
10 => "1333230134",
11 => "65",
12 => "62",
13 => "Connected"
);
echo gettype($arr[8])."<br>";
echo $arr[8]."<br>";
$str1=$arr[8]+0;
echo gettype($str1)."<br>";
echo ($str1)."<br>";
$num = "1333230069";
$num1=($num+0);
echo gettype($num)."<br>";
echo gettype($num1)."<br>";
echo $num1;
?>