//$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. Tomcat 日志清除(含扩展AccessLogValve)

    1.tomcat的访问日志AccessLogs定期或者定量删除 a 开启tomcat访问日志 编辑${catalina}/conf/server.xml文件.注:${catalina}是tomcat的 ...

  2. springMVC的配置文件路径问题

    ① <init-param> <param-name>contextConfigLocation</param-name> <param-value>c ...

  3. poj3122-Pie(二分法+贪心思想)

    一,题意: 有f+1个人(包括自己),n块披萨pie,给你每块pie的半径,要你公平的把尽可能多的pie分给每一个人 而且每个人得到的pie来自一个pie,不能拼凑,多余的边角丢掉.二,思路: 1,输 ...

  4. .Net(C#)最简单的邮件发送案例

    一.序言 刚开始接触邮件发送功能的时候,在网上找的资料都挺复杂的!对于新手入门有点难(至少对于本人来说,第一次接触的时候确实不容易).这里就写一段简单的邮箱发送代码,备忘,也给新手一个参考(相关类的字 ...

  5. JS iframe元素和父页面元素互访

    说明:以下内容来自互联网 [1]子页面取得父页面的dom对象   parent.window.$('#id').val("");   [2]父页面取得子页面的对象   $(wind ...

  6. nyoj1000_快速幂_费马小定理

    又见斐波那契数列 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 斐波那契数列大家应该很熟悉了吧.下面给大家引入一种新的斐波那契数列:M斐波那契数列. M斐波那契数列 ...

  7. JS中构造函数与函数

    //构造函数中,如果返回的是一个对 象,那么就保留原意. 如果返回的是非对象,比如数字.布尔和字符串,那么就返回 this,如果没有 return 语句,那么也返回this. var myFun1 = ...

  8. Kendo UI - Observable

    在 Kendo 中,基类 Class 第一个重要的派生类就是 Observable, 顾名思义,就是一个可观察的对象,也就是观察者模式的基础. 对于观察者模式来说,应该有主题和观察者,这里我们讨论的其 ...

  9. 性能测试之系统监控工具nmon

    一.概述 本篇文章主要讲解nmon,以下为目录 1.nmon介绍 2.nmon下载.安装及使用 3.nmon analysis 分析及使用,各个项的含义 二.详细信息: 1.nmon介绍: nmon( ...

  10. MIT算法导论——第四讲.Quicksort

    本栏目(Algorithms)下MIT算法导论专题是个人对网易公开课MIT算法导论的学习心得与笔记.所有内容均来自MIT公开课Introduction to Algorithms中Charles E. ...