Dr.*_*Dan 4 php arrays drupal drupal-7
我遇到了一些看起来像这样的示例代码:
$form['#submit'][] = 'annotate_admin_settings_submit';
Run Code Online (Sandbox Code Playgroud)
为什么在['#submit']之后有一个空格,里面什么都没有?这意味着什么?谁能举个例子?通常(根据我的理解,可能是错误的)是数组有键,在这种情况下,$ form数组键'#submit'等于'annotate_admin_settings_submit'但是第二组括号的处理是什么.我见过一个数组看起来像的例子:
$form['actions']['#type'] = 'actions';
我知道这是关于php的一个非常基本的问题,但我在学习Drupal时遇到了这个问题,所以希望Drupal社区中的某个人可以澄清这个我正在痴迷的问题.
当你说$form['actions']['#type'] = 'actions'
,它为一个值赋值$form['actions']['#type']
,但是当你说$form['#submit'][] = 'annotate_admin_settings_submit'
,if $form['#submit']
是一个数组时,它会附加'annotate_admin_settings_submit'
到它的末尾,如果它是空的,它将是一个包含一个单独元素的数组'annotate_admin_settings_submit'
.
小智 5
空括号表示当字符串加入数组时,php 会自动为该条目生成一个键,而不是在填充数组时在括号中指定它。所以$form['#submit'][] = 'annotate_admin_settings_submit';
是同样的事情,$form['#submit'][0] = 'annotate_admin_settings_submit';
如果这是你第一次这样做。下次它会是$form['#submit'][1] = 'annotate_admin_settings_submit';
,等等。
归档时间: |
|
查看次数: |
2782 次 |
最近记录: |