我想知道数组中字符串的最大长度是否有限制。我已经检查了我为PHP保留的内存(128MB,因此对于我的目的来说足够定义)并且我很确定我发现了实际问题:
我原来的阵列是:
$tabellenA = array
(
"userA" => array
(
"`id`" => "INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY",
"`name`" => "VARCHAR(20) NOT NULL",
"`sirname`" => "VARCHAR(20) NOT NULL",
"`userName`" => "VARCHAR( 50 ) NOT NULL",
"`email`" => "VARCHAR(50) NOT NULL", ,
"`password`" => "VARCHAR(20) NOT NULL",
"`country`" => "VARCHAR(150) NOT NULL",
"`plz`" => "VARCHAR(50) NOT NULL",
"`road`" => "VARCHAR(50) NOT NULL",
"`city`" => "VARCHAR(50) NOT NULL",
"`state`" => "VARCHAR(50) NOT NULL",
"`house_number`" => "VARCHAR(50) NOT NULL",
"`country`" => "VARCHAR(50) NOT NULL",
"`timestamp`" => "DATETIME NOT NULL"
)
);
并始终调用错误消息:"解析错误:语法错误,意外',',期待')'在第19行和第34行的C:\ xampp \ htdocs \ Envifood \ req \ Constants.php中;直到我在第18行之后切割数组,以便代码看起来像:
$tabellenA = array
(
"userA" => array
(
"`id`" => "INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY",
"`name`" => "VARCHAR(20) NOT NULL",
"`sirname`" => "VARCHAR(20) NOT NULL",
"`userName`" => "VARCHAR( 50 ) NOT NULL"/*,
"`email`" => "VARCHAR(50) NOT NULL", ,
"`password`" => "VARCHAR(20) NOT NULL",
"`country`" => "VARCHAR(150) NOT NULL",
"`plz`" => "VARCHAR(50) NOT NULL",
"`road`" => "VARCHAR(50) NOT NULL",
"`city`" => "VARCHAR(50) NOT NULL",
"`state`" => "VARCHAR(50) NOT NULL",
"`house_number`" => "VARCHAR(50) NOT NULL",
"`country`" => "VARCHAR(50) NOT NULL",
"`timestamp`" => "DATETIME NOT NULL"*/
)
);
因此我预计数组中的字符串必须有某种最大限制,但我没有发现任何数据(用于读取大数据文件/ xml到数组)的提示可能会非常大...我的其他阵列有三倍的条目,并且工作!另外,我用这些键制作了一个文本数组,但是内容不同,内容也很短。
你是否看到了我的错误,或者仅仅是数组不适用于较大的字符串?
答案 0 :(得分:3)
您的代码中包含,
的行中有email
多余的,
。那是造成错误的原因。删除JSON.stringify(evt, function(k, v) {
if (v instanceof Node) {
return 'Node';
}
if (v instanceof Window) {
return 'Window';
}
return v;
}, ' ');
将解决该错误
答案 1 :(得分:1)
问题不是限制,是一个不应该在那里的逗号。
$tabellenA = array
(
"userA" => array
(
"`id`" => "INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY",
"`name`" => "VARCHAR(20) NOT NULL",
"`sirname`" => "VARCHAR(20) NOT NULL",
"`userName`" => "VARCHAR( 50 ) NOT NULL",
"`email`" => "VARCHAR(50) NOT NULL", // , <--This little guy
"`password`" => "VARCHAR(20) NOT NULL",
"`country`" => "VARCHAR(150) NOT NULL",
"`plz`" => "VARCHAR(50) NOT NULL",
"`road`" => "VARCHAR(50) NOT NULL",
"`city`" => "VARCHAR(50) NOT NULL",
"`state`" => "VARCHAR(50) NOT NULL",
"`house_number`" => "VARCHAR(50) NOT NULL",
"`country`" => "VARCHAR(50) NOT NULL",
"`timestamp`" => "DATETIME NOT NULL"
)
);
答案 2 :(得分:1)
您在电子邮件中有一个额外的逗号(&#39;,&#39;)