字符串数组的限制?

时间:2015-12-29 21:12:20

标签: php arrays max

我想知道数组中字符串的最大长度是否有限制。我已经检查了我为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到数组)的提示可能会非常大...我的其他阵列有三倍的条目,并且工作!另外,我用这些键制作了一个文本数组,但是内容不同,内容也很短。

你是否看到了我的错误,或者仅仅是数组不适用于较大的字符串?

3 个答案:

答案 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;)