数组PHP中值的最大大小 [英] Max Size of value in an array PHP
问题描述
php关联数组中的值字符串是否有限制?
Is there a limit on a value string in php Associative array?
我有一个查询,它以数组元素的CSV格式返回GROUP_CONCAT
的值.当我直接运行查询时,我看到所有值都被返回.当我在PHP中打印数组时,字符串将被截断.
I have a query that returns value of GROUP_CONCAT
as CSV for an array element. When I run the query directly, I see all values being returned. When I print the array in PHP, the string is truncated.
不确定如何解决? 有什么想法吗?
Not sure how get around it? Any ideas?
更多信息: 我只是var_dump从查询中得到的结果.这里是. 它显示为1024.看起来有限制.什么事?
More info: I just var_dump the results I got from query. Here it is. It shows 1024. Looks like there is a limit. What is it?
array(5) {
["FIELD_ID"]=>
string(3) "232"
["answers"]=>
string(1024) "48,50,52,54,56,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,"
["ANSWER_TYPE"]=>
string(2) "SS"
["FIELD_TYPE"]=>
string(2) "DA"
["main_field_name"]=>
string(0) ""
}
更多信息:
即使将变量group_concat_max_len
设置为5000,问题仍然存在.还有其他想法吗? PDO有任何问题吗?
More Info:
The issue still exists even after setting the variable group_concat_max_len
to 5000. Any other ideas? Any issues with PDO?
重启MySQL后,它可以工作了.谢谢!
After restarting MySQL, it works. Thanks!
推荐答案
You might need to read up on the length of the max concat here.
Command-Line Format --group_concat_max_len=#
Option-File Format group_concat_max_len
Option Sets Variable Yes, group_concat_max_len
Variable Name group_concat_max_len
Variable Scope Global, Session
Dynamic Variable Yes
-- Permitted Values
Platform Bit Size 32
Type numeric
Default 1024
Range 4 .. 4294967295
-- Permitted Values
Platform Bit Size 64
Type numeric
Default 1024
Range 4 .. 18446744073709547520
我发现返回给您的字符串的长度为1024,这很可笑-恰好是mysql中的默认最大长度.巧合吗?
I find it rather amusing that the string that is returned to you is 1024 in length - which just happens to be the default max length in mysql. Coincedence?
这篇关于数组PHP中值的最大大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!