PHP手册笔记
<?php
getenv — 获取一个环境变量的值
$ip = getenv ( 'REMOTE_ADDR' );
// 或简单仅使用全局变量($_SERVER 或 $_ENV)
$ip = $_SERVER [ 'REMOTE_ADDR' ]; getopt — 从命令行参数列表中获取选项 当使用命令行执行时:php script.php arg1 arg2 arg3
var_dump ( $argv );
//结果为
array(4) {
[0]=> string(10) "script.php"
[1]=> string(4) "arg1"
[2]=> string(4) "arg2"
[3]=> string(4) "arg3"
}
当使用命令行执行时:php script.php arg1 arg2 arg3
var_dump ( $argc ); //结果为: int(4) $GLOBALS — 引用全局作用域中可用的全部变量
function test () {
$foo = "local variable" ;
echo '$GLOBALS找全局变量所以找到Example content: ' . $GLOBALS [ "foo" ] . "\n" ;
echo '正常的找局部 local variable: ' . $foo . "\n" ;
}
$foo = "Example content" ;
test (); 迭代(目的实例化一个对象后可以遍历那个对象) 写类时我们要继承Iterator的话就必须多些5个方法 1.current() 2.key() 3.next() 4.rewind() 5.valid
聚合式迭代器(目的实例化一个对象后可以遍历那个对象) 我们写类时要是继承 IteratorAggregate 就必须多写一个固定死的方法 getIterator(){ return new ArrayIterator($this); }
数组式访问 (目的实例化一个对象后可以遍历那个对象) 我们写类时要是继承ArrayAccess()接口 就必须多写4个方法
序列化接口 多写2个方法 套接字上下文选项 — 套接字上下文选项列表
// '7000'
$opts = array(
'socket' => array(
'bindto' => '0:7000' ,
),
);
$context = stream_context_create ( $opts );
echo file_get_contents ( 'http://www.example.com' , false , $context ); HTTP context 的选项列表
$opts = array( 'http' =>
array(
'method' => 'POST' ,
'header' => 'Content-type: application/x-www-form-urlencoded' ,
'content' => $postdata
)
);
$context = stream_context_create ( $opts );
$result = file_get_contents ( 'http://example.com/submit.php' , false , $context ); FTP 上下文选项列表
$stream_options = array('ftp' => array('overwrite' => true));
$stream_context = stream_context_create($stream_options); CURL 上下文选项列表
$opts = array( 'http' =>
array(
'method' => 'POST' ,
'header' => 'Content-type: application/x-www-form-urlencoded' ,
'content' => $postdata
)
);
$context = stream_context_create ( $opts );
$result = file_get_contents ( 'http://example.com/submit.php' , false , $context ); 加载扩展 如果gd扩展已加载,返回 TRUE ,否则返回 FALSE 。
if (! extension_loaded ( 'gd' )) {
if (! dl ( 'gd.so' )) {
exit;
}
} // 引入一个扩展的例子,基于操作系统
if (! extension_loaded ( 'sqlite' )) {
if ( strtoupper ( substr ( PHP_OS , 0 , 3 )) === 'WIN' ) { //判断操作系统
dl ( 'php_sqlite.dll' );
} else {
dl ( 'sqlite.so' );
}
} 获取当前 PHP 脚本所有者名称 echo 'Current script owner: ' . get_current_user (); — 返回所有常量的关联数组,键是常量名,值是常量值
define ( "MY_CONSTANT" , 1 ); print_r ( get_defined_constants ( true )); 输入模块名称 返回模块所以方法 print_r ( get_extension_funcs ( "xml" )); 查看php 引入了哪些文件 print_r(get_included_files()); 返回所有编译并加载的模块 print_r ( get_loaded_extensions ()); // 如果启用了魔术引号
echo $_POST [ 'lastname' ]; // O\'reilly //增加反斜线
echo addslashes ( $_POST [ 'lastname' ]); // O\\\'reilly
// 适用各个 PHP 版本的用法
if ( get_magic_quotes_gpc ()) {//为关闭时返回 0,否则返回 1
$lastname = stripslashes ( $_POST [ 'lastname' ]); //去掉反斜线
}else {
$lastname = $_POST [ 'lastname' ];
} // 如果使用 MySQL
$lastname = mysql_real_escape_string ( $lastname ); echo $lastname ; // O\'reilly
$sql = "INSERT INTO lastnames (lastname) VALUES (' $lastname ')" ; getmyuid — 获取 PHP 脚本所有者的 UID 获取当前 PHP 脚本拥有者的用户组 ID。 getmygid getmyinode — 获取当前脚本的索引节点(inode) getmypid — 获取 PHP 进程的 ID ini_get_all — 获取所有配置选项 ini_get — 获取一个配置选项的值 memory_get_peak_usage — 返回分配给 PHP 内存的峰值 memory_get_usage — 返回分配给 PHP 的内存量 php.ini文件的位置 echo php_ini_loaded_file (); 返回 web 服务器和 PHP 之间的接口类型 PHP 常量 PHP_SAPI 具有和 php_sapi_name() 相同的值。 打印 PHP 贡献者名单 phpcredits ( CREDITS_ALL - CREDITS_FULLPAGE );
phpversion — 获取当前的PHP版本
set_time_limit — 设置脚本最大执行时间 sys_get_temp_dir — 返回用于临时文件的目录 对比两个「PHP 规范化」的版本数字字符串
if ( version_compare ( PHP_VERSION , '5.3.0' ) >= 0 ) {
echo 'I am at least PHP version 5.3.0, my version: ' . PHP_VERSION . "\n" ;
} zend_thread_id — 返回当前线程的唯一识别符 zend_version — 获取当前 Zend 引擎的版本 array_combine($array(一维数组的值做键), 另一个一维数组的值做值);新数组创建成功
array_column($array, '多维数组中的某元素值做值', '某元素值做键');
str_repeat ( "-=" , 10 ); //-=-=-=-=-=-=-=-=-=-= echo nl2br ( "foo isn't\n bar" );//foo isn't<br />bar echo lcfirst ('HelloWorld' ); // helloWorld // Outputs: A 'quote' is <b>bold</b>
echo $a = htmlentities ( $str , ENT_QUOTES );//引号也被转换
echo html_entity_decode ( $a );//引号不被转换 // 注意,这里的引号不会被转换
echo htmlspecialchars_decode ( $str , ENT_NOQUOTES );
echo htmlspecialchars ( "<a href='test'>Test</a>" , ENT_QUOTES ); // <a href='test'>Test</a> // count_chars ( string $string [, int $mode = 0 ] )
echo $str =convert_uuencode ( 'string' );//1个参数(string) 目的对string进行编码 返回结果 echo convert_uudecode ( $str );//解码一个 uuencode 编码的字符串 $str = chunk_split('abcdefghi', 2, '=');//3个参数,目的用指定字符串将其分割为一定长度,返回分割后的字符。 stripslashes — 反引用一个引用字符串
addcslashes(string, 'A-z')//两个参数 目的转义 字符串 返回转以后的字符串
addslashes(string);//一个参数 目的转义4个特殊符号 ‘ “ \ null 返回转以后的字符串
string stripcslashes ( string $str ) 反引用一个使用 addcslashes() 转义的字符串 bin2hex(二进制) //一个参数 目的2进制转16进制 返回16进制
hex2bin — 转换十六进制字符串为二进制字符串 chop() rtrim() 的别名 //2个参数,目的去除右边空白或字符 返回去除后的结果
/**/
PHP手册笔记的更多相关文章
- [python学习手册-笔记]001.python前言
001.python前言 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...
- [python学习手册-笔记]002.python核心数据类型
python核心数据类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...
- [python学习手册-笔记]003.数值类型
003.数值类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明作者和出 ...
- [python学习手册-笔记]004.动态类型
004.动态类型 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明作者和出 ...
- 类与对象 - PHP手册笔记
基本概念 PHP对待对象的方式与引用和句柄相同,即每个变量都持有对象的引用,而不是整个对象的拷贝. 当创建新对象时,该对象总是被赋值,除非该对象定义了构造函数并且在出错时抛出了一个异常.类应在被实例化 ...
- 函数 - PHP手册笔记
用户自定义函数 函数无需在调用前被定义,除非是有条件定义的. PHP中的所有函数和类都具有全局作用域.PHP不支持函数重载,也不可能取消定义或者重定义已声明的函数. 特意试了下,我的电脑上的PHP递归 ...
- 流程控制 - PHP手册笔记
脚本由语句构成,语句靠流程控制实现功能,这一节主要介绍了几个关键字的使用. elseif elseif和else if的行为完全一样,如果用冒号来定义if/elseif条件,那就不能用两个单词的els ...
- 运算符 - PHP手册笔记
运算符优先级 每种编程语言都有运算符,运算符要学会灵活使用. 运算符拥有不同的优先级和结合方向. <?php var_dump(1 <= 1 == 1); // true var_dump ...
- 类型 - PHP手册笔记
类型简介 PHP 支持 8 种原始数据类型. 四种标量类型: boolean(布尔型,不区分大小写) integer(整型) float(浮点型,也称作double) string(字符串) 两种复合 ...
- 引用 - PHP手册笔记
引用是什么 PHP中的引用意味着,用不同的变量名访问同一变量内容,类似于Unix的文件名和文件本身(变量名是目录条目,变量内容是文件本身,即用不同的目录条目访问同一文件),可以看做Unix文件系统中的 ...
随机推荐
- js 验证ip列表
如题. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title ...
- LeetCode 20 Generate Parentheses
Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...
- exit() _exit() 函数区别
exit(): --stdlib.h (1) 所有使用atexit()注册的函数,将会被以注册相反的顺序调用: (2) 所有打开的输出流被刷新,并且关闭流: (3) 使用tmpfile()创建的文件将 ...
- 2017多校第9场 HDU 6166 Senior Pan 堆优化Dij
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6166 题意:给你一个有向图,然后给你k个点,求其中一个点到另一个点的距离的最小值. 解法:枚举二进制位 ...
- java 和 JVM
C++和Java的区别 指针:java中不存在指针的概念,编程者无法直接通过指针来直接访问内存,有利于维护java程序的安全 多重继承:C++支持多重继承,java不支持多重继承,但是允许一个类继承多 ...
- 微信小程序实现图片上传,预览,删除
wxml: <view class='imgBox'> <image class='imgList' wx:for="{{imgs}}" wx:for-item= ...
- CSS3新属性解释及用法
一. transition(a标签hover渐隐效果) a:hover{transition: color 0.15s linear 0s, background-color 0.3s linear ...
- vue-cli脚手架引入element UI的正确打开方式
element UI官网教程:http://element-cn.eleme.io/#/zh-CN/component/quickstart 1.完整引入,直接了当,但是组件文件不是按需加载,造成多余 ...
- windows系统安装mysql压缩zip版
1.下载 打开官网:https://www.mysql.com 进入DOWNLOADS--->Community--->MySQL Community Server,选择系统对应的版本点击 ...
- Nginx-进程模型
1.整体框架 正常执行起来的Nginx有很多进程,有master_process和worker_process进程,master_process是监控进程即主线程,worker_process是工作进 ...