简单来讲,这个函数就是将一个线性数组转换为key=>value数组。所谓线性数组就是类似array('hello','world');这样的数组,而键值数组就是类似array('key1'=>'hi','key2'=>'ok')的数组。drupal_map_assoc($array, $function = NULL)有两个参数,前面一个参数是你要转换的数组,后一个是指定转换规则的函数,如果不指定的话则简单地将原数组的值作为新数组的键,函数的返回值是转换后的新数组。这么说可能有点不好懂,我们来做个实验吧:
<?php
/**
* @file
* 测试几个drupal的API专用
*/
/**
* Implements hook_menu().
* 让用户在首页看到这个模块
*/
function test_menu()
{
$items['test'] = array(
'title' => t('Run My Drupal Code'),
'page callback' => 'drupal_get_form',
'page arguments' => array(
'test_form'
),
'access callback' => TRUE,
'type' => MENU_NORMAL_ITEM
);
return $items;
}
function test_form($form, &$form_state)
{
$oriarr = array(
t('Study Room'),
t('Small Conference Room'),
t('Board Room')
);
$arr = drupal_map_assoc($oriarr);
krumo($oriarr);
krumo($arr);
$form['html'] = array(
'#type' => 'markup',
'#markup' => 'My Heading'
);
return $form;
}
最后的结果:

码农场