放牧代码和思想
专注自然语言处理、机器学习算法
    时间有限,只有GitHub上的issue能及时处理,大约每周末一次。另外,不要叫我楼主,谢谢。

drupal_map_assoc()详解

简单来讲,这个函数就是将一个线性数组转换为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;
}

最后的结果:

知识共享许可协议 知识共享署名-非商业性使用-相同方式共享码农场 » drupal_map_assoc()详解

分享到:更多 ()

评论 欢迎留言

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机