2015-12-29 28 views
0

我想知道数组中字符串的最大长度是否有限制。我已经已经检查了我的记忆保留PHP(这是128MB,因此definitelly够我的目的),并敢肯定,我deteteced实际的问题:字符串数组的限制?

我原来的数组是:

$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行的C:\ xampp \ htdocs \ Envifood \ req \ Constants.php中调用错误消息:“Parse error:syntax error,unexpected',',expected')',直到我在第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"*/ 
     ) 
); 

因此,我预计必须有一些k IND的数组中的字符串的最大限制,但我没有发现任何,但数组(用于读取大数据文件/ XML到数组)可以得到巨大的...另外我的其他阵列有三倍以上的条目,并且工作!此外,我用这些密钥制作了一个文本数组,但内容不同,内容较短,可以工作。

您是否看到我的错误,还是只是说数组不能用于较大的字符串?

回答

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" 


    ) 
); 
+0

非常感谢! – nikma

3

您的代码中有,多余的email。这是导致错误。删除该,将解决该错误

+0

烨...没有在这里看到,沿着;-) –

+0

“'email'” 移动=>“VARCHAR(50)NOT NULL“[链接], 迄今为止我知道这个”,“是必要的,因为更多条目遵循... – nikma

+0

该行还有另一个逗号。向右看 – Dacaspex

1

你的电子邮件有一个额外的逗号( '')