在这段Php代码中找不到错误

在这段Php代码中找不到错误,php,drupal,Php,Drupal,我在这段代码中得到了T_字符串错误,它在第二行($form['com…)上说得更准确,我根本不明白为什么 function _maxlength_comment_type_form_alter(&$form, $form_state, $form_id) { $form['comment']['comment_max_length'] = array( '#type' => 'select', '#title' => t('Maximum comm

我在这段代码中得到了T_字符串错误,它在第二行($form['com…)上说得更准确,我根本不明白为什么

function _maxlength_comment_type_form_alter(&$form, $form_state, $form_id) {
    $form['comment']['comment_max_length'] = array(
     '#type' => 'select',
     '#title' => t('Maximum comment length'),
     '#default_value' => variable_get('comment_max_length_'. $form['#node_type'] -> type, 160),
     '#options'=> drupal_map_assoc(array(140,160,180,200)),
     '#description' => t('numero maximo de caracteres permitidos.'),
     '#weight' => -1,
     );
我正在将此代码添加到Maxlength drupal模块。

可能是这一部分:

'comment_max_length_'. $form['#node_type'] -> type
试着去掉箭头周围的空格


编辑-我不认为上面的内容实际上是代码的问题,尽管我仍然建议删除空格作为一种风格,这样做很明显:

'comment_max_length_'. ($form['#node_type']->type)
与此相反:

('comment_max_length_' . $form['#node_type'])
您的代码是有效的,可以在我的PCTM上使用


另一编辑:

请确保还定义了
$form['comment']
。可能在函数开头添加此项

if (!isset($form['comment'])) $form['comment'] = array();
可能是这一部分:

'comment_max_length_'. $form['#node_type'] -> type
试着去掉箭头周围的空格


编辑-我不认为上面的内容实际上是代码的问题,尽管我仍然建议删除空格作为一种风格,这样做很明显:

'comment_max_length_'. ($form['#node_type']->type)
与此相反:

('comment_max_length_' . $form['#node_type'])
您的代码是有效的,可以在我的PCTM上使用


另一编辑:

请确保还定义了
$form['comment']
。可能在函数开头添加此项

if (!isset($form['comment'])) $form['comment'] = array();

我可以看到两个问题,上面提到的一个nickf,即箭头两边都不应该有空格:

'comment_max_length_'. $form['#node_type'] -> type
此外,它后面不应该有逗号(因为它是数组中的最后一项):


我可以看到两个问题,上面提到的一个nickf,即箭头两边都不应该有空格:

'comment_max_length_'. $form['#node_type'] -> type
此外,它后面不应该有逗号(因为它是数组中的最后一项):


把那个巨大的语句分解成更小的语句,这样你就能更好地发现问题了,怎么样?

把那个巨大的语句分解成更小的语句,这样你就能更好地发现问题了?

你所写的是语法正确的PHP代码。如果我用你所写的代码来包装它,它在PHP4和PHP5中都不会出现语法错误u have write是语法正确的PHP代码。如果我用它来包装,它在PHP4和PHP5中都不会出现语法错误。实际上这不是一个语法错误。我认为它的风格很差,但它仍然是有效的PHP。多余的逗号无关紧要。我通常在代码中添加多余的逗号。这样,当我以后向数组添加更多条目时,我就不会使用它了关于添加额外的逗号。另外,我的差异会更小。这通常不是问题,但是IIRC(如果我错了,请随时纠正我),一些旧的PHP实现会在额外的逗号上出错。也许我只是在做梦:)这实际上不是一个语法错误。在我看来,这是一个糟糕的样式,但它仍然是有效的PHP。额外的逗号并不重要。我通常在代码中添加额外的逗号。这样,当我以后向数组添加更多条目时,我不会忘记添加额外的逗号a、 此外,我的差异会更小。这通常不是问题,但IIRC(如果我错了,请随时纠正我),一些旧的PHP实现会在额外的逗号上出错。也许我只是在做梦:)感谢语法提示,伙计们,我还在学习PHP(noobie)所以我可能会犯很多这种类型的错误。顺便说一句,我发现问题出在我发布的那一行之后的一个函数中。我仍然需要更好地阅读解析错误。它们会在一行中出现尖锐的错误,但实际上错误出在另一行中?是的,问题通常会出现在它所说的那一行之前或之后。感谢语法提示,伙计们,我学习php不好(noobie)所以我可能会犯很多这种类型的错误。顺便说一句,我发现问题出在我发布的那一行之后的一个函数中。我仍然需要更好地阅读解析错误。它们会在一行中出现尖锐错误,但实际上错误出在另一行中?是的,问题通常会出现在它所说的那一行之前或之后。这对我很有帮助,我去掉了函数通过函数,我可以找到错误所在的位置,这很有帮助,我一个函数一个函数地取出来,这样我就可以找到错误所在的位置