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文件系统中的 ...
随机推荐
- 时间盲注脚本.py
时间盲注脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- import requests import time payloads = 'abcdefg ...
- java===java基础学习(5)---文件读取,写入操作
文件的写入读取有很多方法,今天学到的是Scanner和PrintWriter 文件读取 Scanner in = new Scanner(Paths.get("file.txt") ...
- 自动化测试===unittest配套的HTMLTestRunner.py生成html报告源码
更改版: 全部复制,命名为 HTMLTestRunner.py 文件 #使用方法参见之前的文档:自动化测试===unittest和requests接口测试案例,测试快递查询api(二) " ...
- OpenCV编程入门目录
第一部分 快速上手OpenCV 第1 章 邂逅OpenCV 图像处理.计算机视觉与OpenCV OpenCV 概述 起源及发展 应用概述 .2OpenCV 基本架构分析 .3OpenCV3 带来了什么 ...
- Linux配置Tomcat
系统:Ubuntu,Tomcat:apache-tomcat-8.5.23.tar.gz 1,找到apache-tomcat-8.5.23.tar.gz,复制到 /usr/local root@ubu ...
- [Think] position与anchorPoint关系
1.简介: 最近在学习动画,所以接触到了CAlayer类. 其中的position与anchorPoint关系一感觉一头雾水,网上有篇文章 彻底理解position和anchorPoint关系 里面 ...
- tomcat远程调试参数备忘
tomcat远程调试,启动时添加参数: -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,ser ...
- 全国省市区数据SQL - 省市区
转载:https://www.cnblogs.com/flywind/p/6036801.html
- NOIP 2011 Day2
tags: 贪心 模拟 NOIP categories: 信息学竞赛 总结 计算系数 Solution 根据二项式定理, \[ \begin{align} (a+b)^n=\sum_{k=0}^nC_ ...
- HDU-2389
Rain on your Parade Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 655350/165535 K (Java/Ot ...