Browse Source

修复json_encode方法:
当传入数组内值为数字字符串,会被作为数字处理,在某些时候可能会引起错误。

binsee 10 years ago
parent
commit
78c8b98f49
4 changed files with 4 additions and 4 deletions
  1. 1 1
      Thinkphp/Wechat.class.php
  2. 1 1
      Thinkphp/qywechat.class.php
  3. 1 1
      qywechat.class.php
  4. 1 1
      wechat.class.php

+ 1 - 1
Thinkphp/Wechat.class.php

@@ -969,7 +969,7 @@ class Wechat
 				if (! $is_list)
 					$str = '"' . $key . '":';
 				//Custom handling for multiple data types
-				if (is_numeric ( $value ) && $value<2000000000)
+				if (!is_string ( $value ) && is_numeric ( $value ) && $value<2000000000)
 					$str .= $value; //Numbers
 				elseif ($value === false)
 				$str .= 'false'; //The booleans

+ 1 - 1
Thinkphp/qywechat.class.php

@@ -176,7 +176,7 @@ class Wechat
 	            if (! $is_list)
 	                $str = '"' . $key . '":';
 	            //Custom handling for multiple data types
-	            if (is_numeric ( $value ) && $value<2000000000)
+	            if (!is_string ( $value ) && is_numeric ( $value ) && $value<2000000000)
 	                $str .= $value; //Numbers
 	            elseif ($value === false)
 	            $str .= 'false'; //The booleans

+ 1 - 1
qywechat.class.php

@@ -171,7 +171,7 @@ class Wechat
 	            if (! $is_list)
 	                $str = '"' . $key . '":';
 	            //Custom handling for multiple data types
-	            if (is_numeric ( $value ) && $value<2000000000)
+	            if (!is_string ( $value ) && is_numeric ( $value ) && $value<2000000000)
 	                $str .= $value; //Numbers
 	            elseif ($value === false)
 	            $str .= 'false'; //The booleans

+ 1 - 1
wechat.class.php

@@ -959,7 +959,7 @@ class Wechat
 				if (! $is_list)
 					$str = '"' . $key . '":';
 				//Custom handling for multiple data types
-				if (is_numeric ( $value ) && $value<2000000000)
+				if (!is_string ( $value ) && is_numeric ( $value ) && $value<2000000000)
 					$str .= $value; //Numbers
 				elseif ($value === false)
 				$str .= 'false'; //The booleans