//$token = drupal_get_token('abc');
//dpm(drupal_valid_token($token,'abc'));
//1
//从任何字符串生成一个密码形式的字符串
//然后还可以验证这个字符串

// dpm(drupal_get_token());
//MK856eoEKWscJNOwh7TYHCpI--S-m2gU1PbD4J0Ugx8
//这个是可以的

//dpm(file_space_used());
//1460

//dpm(urlencode('a.b'));
//a.b

//dpm(urlencode('a b'));
//a+b

//dpm(urlencode('a%b'));
//a%25b

//dpm(urldecode('a%25b')); //a%b

//dpm(urlencode('a+b'));
//a%2Bb

//dpm(rawurlencode('example/page/url.php'));
//example%2Fpage%2Furl.php

//dpm(urlencode('example/page/url.php'));
//example%2Fpage%2Furl.php

//dpm(urlencode('我爱北京'));
//%E6%88%91%E7%88%B1%E5%8C%97%E4%BA%AC

// dpm(url('abc'));
// dpm(url('http://www.abc.com'));
// /local/abc
// http://www.abc.com

//dpm(base_path());
///local/

// global $base_root,$base_path;
// dpm($base_root);
// dpm($base_path);
// http://localhost
// /local/

// dpm(substr('abc',0));
// dpm(substr('abc',1));
//就是从下标第几的元素进行保留
//一般书上说截取,那取出被保留的部分,剩下的就是被截取的部分了

//dpm(strpos('abc', 'b'));
//取出下标的数字值
//1

// $link = array('#theme'=>'link_abc');
// dpm(render($link));

// $firstname = "Bill";
// $lastname = "Gates";
// $age = "60";
// $result = compact("firstname", "lastname", "age");
// dpm($result);
// ... (Array, 3 elements)
// firstname (String, 4 characters ) Bill
// lastname (String, 5 characters ) Gates
// age (String, 2 characters ) 60

// $path = drupal_get_normal_path('spm','zh-hans');
// $array = explode('/',$path);
// node_delete($array[1]);
//
//
// dpm($path);

// $module = 'features_language';
// dpm(features_load_feature($module, TRUE));
//dpm(features_load_feature($module));
//features_revert();

//dpm(variable_get('install_task'));
//done

// dpm(system_rebuild_module_data());

//dpm(variable_get('features_ignored_orphans', array()));
//array()

// $array = array('a'=>'b','c'=>'d');
// $key = array_search('b',$array);
// dpm($key);
// //a
//array_search就是找出对应值的key

// $files = system_rebuild_module_data();
//
// dpm($files);
//
// foreach ($files as $row) {
//
// if (!empty($row->info['stylesheets'])) {
// foreach ($row->info['stylesheets'] as $media => $css) {
// $row->info['stylesheets'][$media] = array_keys($css);
// }
// }
//// }

// $vpn = 'vpn';
// variable_set('abc_vpn',1);
// dpm(variable_get('abc_'.$vpn));
//
// variable_set('abc_abc_' . $vpn,123);
// dpm(variable_get('abc_abc_' . $vpn));
// dpm(DRUPAL_ROOT);

//dpm(node_load($nid = 14));
//很奇怪啊这个时候$nid根本没有定义但还是可以使用的

// $path = 'node/2';
// list(,$id) = explode('/',$path,2);
// dpm($id);
// //2

// features_revert_module('features_language');
//可行的

// dpm(menu_get_active_breadcrumb());
// ... (Array, 4 elements)
// 0 (String, 26 characters ) <a href="/local/">Home</a>
// 1 (String, 41 characters ) <a href="/local/admin">Administration</a>
// 2 (String, 100 characters ) <a href="/local/admin/structure" title="Adminis...
// 3 (String, 157 characters ) <a href="/local/admin/structure/types" title="M...

// drupal_set_message(drupal_render(drupal_add_feed('node/14')));
//报错

// dpm(drupal_add_feed('node/14'));

// $array = array('aa','bb','cc');
// $delimiter = '===';
// dpm(implode($array,$delimiter));
// dpm(implode($delimiter,$array));
//aa===bb===cc
//aa===bb===cc

//不过标准的语法是这样子的:implode(separator,array)

// dpm(drupal_get_query_parameters());
//http://localhost/local/?q=admin/config/administration&abc=qinqiu&ef=jj
// ... (Array, 2 elements)
// abc (String, 6 characters ) qinqiu
// ef (String, 2 characters ) jj

// $path = drupal_get_path('module', 'qin_tt');
// dpm($path);
// //sites/all/modules/custom/directory_test
//似乎可以推断出xx.module的文件名和function前缀是相同的最关键
//其他的比如文件夹名和name在.info文件里都不是那么重要
//其中name在.info文件里将会出现在admin/structure/admin名单里面
//并且结尾不带/

// dpm(array(NULL => 'no-defined'));
// ... (Array, 1 element)
// (String, 10 characters ) no-defined

// dpm(array('abc' => 'no-defined'));
// ... (Array, 1 element)
// abc (String, 10 characters ) no-defined

// $arr1 = array('a'=>'b');
// $arr2 = array('c'=>'d');
// dpm(array_merge_recursive($arr1, $arr2));
// ... (Array, 2 elements)
// a (String, 1 characters ) b
// c (String, 1 characters ) d

// $arr1 = array('a'=>'b');
// $arr2 = array('a'=>'d');
// dpm(array_merge_recursive($arr1, $arr2));
//就是说当遇到相同的键时候,就往下顺延组成新的array
// ... (Array, 1 element)
// a (Array, 2 elements)
// 0 (String, 1 characters ) b
// 1 (String, 1 characters ) d
// dpm(array_merge($arr1, $arr2));
// ... (Array, 1 element)
// a (String, 1 characters ) d

// dpm(array(2) + array(3));
// ... (Array, 1 element)
// 0 (Integer) 2
// dpm(array_merge(array(2), array(3)));
// ... (Array, 2 elements)
// 0 (Integer) 2
// 1 (Integer) 3

// dpm(array('a'=>'b') + array('c'=>'d'));
// ... (Array, 2 elements)
// a (String, 1 characters ) b
// c (String, 1 characters ) d

//array+对数字键值非常不友好,直接覆盖,但是对字符键值还是网开一面的

// dpm(array_merge(array(2),array(3)));
// ... (Array, 2 elements)
// 0 (Integer) 2
// 1 (Integer) 3

// dpm(array_merge(array('a'=>'b'),array('c'=>'d')));
// ... (Array, 2 elements)
// a (String, 1 characters ) b
// c (String, 1 characters ) d

// dpm(array_merge(array('a'=>'b'),array('a'=>'d')));
// ... (Array, 1 element)
// a (String, 1 characters ) d

// array_merge和array +的区别
// 当数组的键值相同的情况下
// 1 array + 以前面的值为准,
// 2 array_merge以后面的值为准

// dpm(array_merge_recursive(array(2),array(3)));
//... (Array, 2 elements)
// 0 (Integer) 2
// 1 (Integer) 3
//对数字键值没有影响
// dpm(array_merge_recursive(array('a'=>'b'),array('c'=>'d')));
// //当数组不是三维或以上是和array_merge是一样的

// dpm(drupal_realpath('qin_tt.module'));
// ''

//dpm(strrpos('abc.tar.gz', '.gz'));
//7

//strpo函数本来的作用就是找出这个字符前面字符串的个数长度
//因为某个字符的下标位置恰好就是前面有多少个字符的长度

//dpm(strlen('abc.tar.gz') - strlen('.gz'));

// dpm(strrpos('abc.tar.gz', 'b'));
//1

//dpm(strrpos('abc.tar.gz', 'Ab'));
//空

//dpm(strrpos('abc.tar.gz', 'ab'));
//0

// dpm(strrpos('abc.tar.gz', 'ab'));
//rpos就是从后到前的寻找

// dpm(array_diff_key(array(),array('a','b')));
// 返回array()

// dpm(array_diff_key(array('a'=>'a','b'=>'b','c'=>'c'),array('a'=>'a','b'=>'b')));
// ... (Array, 1 element)
// c (String, 1 characters ) c

// dpm(array_diff_key(array('a','b','c'),array('a','b')));
// ... (Array, 1 element)
// 2 (String, 1 characters ) c
//数字下标的值是被补全的

// dpm(field_info_instances('node','page'));
// ... (Array, 3 elements)
// body (Array, 13 elements)
// field_reference (Array, 13 elements)
// field_field_collection_test (Array, 13 elements)

// dpm(REQUEST_TIME);
// //1481001893

//
// dpm(empty($qq));
// //1
//这个是可以的
//没有报错

// dpm('>');
// dpm(check_plain('>'));
// >
// &gt;

// $array = array('a'=>'b','c'=>'d');
// dpm(debug($array,null,true));
// Array
// (
// [a] => b
// [c] => d
//)
// dpm(debug($array,null,false));
// array (
// 'a' => 'b',
// 'c' => 'd',
// )

// variable_set('qinqiu','qinqiu');
// if( variable_get('qinqiu') ){
// dpm('variable set can be use in if condition');
// }
//variable set can be use in if condition
//这么做是可以的

test 2016-12-6的更多相关文章

  1. mysql查询练习题-2016.12.16

    >>>>>>>>>> 练习时间:2016.12.16 编辑时间:2016-12-20-->22:12:08 题: 涉及:多表查询.ex ...

  2. 关于2016.12.12——T1的反思:凸包的意义与应用

    2016.12.12 T1 给n个圆,保证圆圆相离,求将圆围起来的最小周长.n<=100 就像上图.考场上,我就想用切线的角度来做凸包.以圆心x,y排序,像点凸包一样,不过用两圆之间的下切线角度 ...

  3. U3D笔记11:47 2016/11/30-15:15 2016/12/19

    11:47 2016/11/30Before you can load a level you have to add it to the list of levels used in the gam ...

  4. rhel 7.0 配置centos yum源(2016/12/8),成功!

    1.首先查看redhat 7.0系统本身所安装的那些yum 软件包: rpm -qa | grep yum #列出所有已安装的yum包 2.删除这些包: rpm -e *.rpm --nodeps # ...

  5. 更新日志(建议升级到2016.12.17) &amp;&amp; 更新程序的方法

    更新程序的方法: 1,在控制面板里点击备份当前数据库文件到磁盘,把当天获取的信息从内存写到磁盘/存储卡.2,下载最新版的源码 wget -O "infopi.zip" " ...

  6. Oracle中把一个DateTime的字符串转化成date类型。to_date(&#39;2016/12/8 18:55:43&#39;,&#39;yyyy/MM/dd hh24:mi:ss&#39;),

    Oracle中把一个DateTime或者该形态字符串转化成date类型. to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'), 或者: sele ...

  7. 【读书笔记】2016.12.10 《构建高性能Web站点》

    本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...

  8. 每天多一点(2016.12.04)》Javascript隐式转换

    乱想 javascript为什么需要隐式转换?如果没有会出现什么情况? 找了一圈没有看到关于这个的讨论,只好自己研究了,可能不一定正确,自行辨知. 郁闷就是郁闷在好好的,为什么要搞个隐式转换,一般来讲 ...

  9. Cheatsheet: 2016 12.01 ~ 12.31

    Other Code review in remote teams 5 Signs That Your REST API Isn't RESTful Web Server Side React Sta ...

  10. 2016.12.01 搭建dendroid备忘

    在2014年的时候看了freebuf的那篇,感觉很6,2014年搭了就一遍成功了,事过两年,物是人非啊,2016搞了云,没事测试,搞了一遍死活不成功,第二天测试成功,过程逗比坎坷,没什么难的 //环境 ...

随机推荐

  1. direction和unicode-bidi

    在做多语言页面,接触过阿利伯语.希伯来语的同学肯定了解书写方向的重要性,包括我们五四运动前的书写顺序也是从右到左的.css中 unicode-bidi和direction属性决定了HTML或XML文字 ...

  2. html5+css3+jquery完成响应式布局

    响应式布局,流体布局,自适应布局,静态布局等等,这是移动设备的飞速发展,前端人员不得不跟上潮流的一个方向.实际上各种设备尺寸,分辨率大都不同,真的适应各种设备依旧是不现实的,首先是浏览器差异化,让我们 ...

  3. 基础才是重中之重~C#中标准的IDispose模式

    回到目录 IDispose模式在C++中用的很多,用来清理资源,而在C#里,资源分为托管和非托管两种,托管资源是由C#的CLR帮助我们清理的,它是通过调用对象的析构函数完成的对象释放工作,而对于非托管 ...

  4. 支持向量机(SVM)入门

    一.简介 支持向量机,一种监督学习方法,因其英文名为support vector machine,故一般简称SVM. 通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器, ...

  5. bs4_3select()

        Finding an Element with the select() Method 调用select()方法从BeautifulSoup对象索取网页元素,并用CSS 选择器传递你寻找的元素 ...

  6. HDU3348(贪心求硬币数

    ;} coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  7. cookie&amp;session&amp;servletContext

    一.cookie VS session 1)应用场景 cookie可以用于: 记录用户上次登录的时间 记住用户名和密码 session可以用于: 防止非法登录(即直接跳转到本来需登录验证方可登录的页面 ...

  8. [Effective Java]第五章 泛型

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. hdu2546 饭卡    01背包

    link:http://acm.hdu.edu.cn/showproblem.php?pid=2546 也算一个贪心的想法吧. 先把总钱数减去5,再把价值最大的挑出来.然后用01背包.最终买下挑出来的 ...

  10. iOS 初级数据持久化

    数据持久化 什么是数据持久化? 数据的永久存储 为什么要做数据持久化::存储在内存中的数据,程序关闭,内存释放,数据丢失,这种数据是临时的 数据持久化的本质:数据保存成文件,存储到程序的沙盒中 一.沙 ...