PHP(三)——PHP基础知识
PHP基础语法
PHP在HTML中的嵌入,允许四种类型
<?php
和?>
,只要支持PHP语言的服务器。<?
和?>
,需将php.ini
文件中的short_open_tag
的值设为on
。<script language ="php">
和</script>
<%
和%>
,在PHP3.0.4及其以上版本,需将php.ini
文件中的asp_tags
的值设为on
。
三种注释方法
123456
//注释内容...# 注释内容.../* 多行注释注释内容...*/
输出命令
- echo:无返回值,不能用于复杂语句。
- print:有返回值,负责为用户提供反馈,能显示原始字符串和变量,提供与echo相同的功能,且比echo语句更强大。
- print_r
- 区分大小写
- 区分大小写的时候:
- 变量名
- 常量名,通常写成大写
- 不区分大小写的时候:
- 函数名、方法名、类名,在调用时尽量使用和定义时相同的名字;
- 魔术常量不区分大小写,如 LINE,FUNCTION等;
- NULL,TRUE,FLASE不区分;
- 类型转换时,如(string) 和(STRING)是相同的;
- 区分大小写的时候:
数据类型
数据类型是语言最为基础的部分,它是高级语言抽象出来的一个概念,对于低级语言(机器语言)没有这个概念。对于CPU、内存而言,并没有数据类型之分,数据是没有差别的,高级语言的数据类型为内存中的数据指定了特定的计算方式。
数据类型的产生使得程序的编写更加规范、简洁和灵活。
- 数据类型:
- 标量类型:字符串、整型、浮点型和布尔型;
- boolean(或为bool)
- integer(或为int)
- float
- string
- 复合类型:数组和对象;
- array
- object
- 特殊类型:资源和NULL。
- 标量类型:字符串、整型、浮点型和布尔型;
数据类型的方法:
1234567891011
// 判断数据类型的方法 is_bool()/is_int()/is_float()/is_string()/is_array()/is_object()// 数据类型的转换方式 // 在变量前加上用括号括起来的数据类型 (int)/ (bool)/ (float)/ (string)/ (array)/ (object) // 使用3个具体类型的转换函数 intval()/floatval()/strval() // 使用函数 settype(var, type)// 判断变量是否为数字或者数字组成的字符串。 is_numeric()
注意:如果给定的数超过了int的范围,将会解释为float,同样,如果执行的运算结果超过int范围,也会返回float。
进制表示
1234
$a = 123;//十进制数 $a = 0123;//八进制数 $a = 0x1A;//十六进制数 $a = 0b11111111;//二进制数字
字符串中特殊字符
字符形式 | 功能
—|—
\n | 换行且归0
\br | 换行
\t | 跳格
\’ | 单引号
\” | 双引号
\$ | $符号
\r | 回车NULL:表示变量没有值,下列情况变量被认为是NULL:
- 被赋值为NULL;
- 尚未被赋值;
被unset()。
NULL大小写敏感。
变量
定义:变量可以看做是一个容器,先给容器取个名字,然后利用赋值运算符给这个容器装上内容。变量是最常见的数据类型应用形式,主要由变量名、变量值和变量类型三部分组成。
内部实现:PHP中变量名与变量可以简单地对应为zval和zend_value。PHP通过zval结构体来表示一个变量,不同类型的变量值则通过zval内嵌入一个联合体表示,即
zend_value
。通过zval
、zend_value
及不同类型的结构实现了PHP基础的数据类型。zval的作用:(1)PHP变量;(2)统一函数的参数
变量的命名规则
- 必须以$符号开头;
- 第二个字符必须是字母或者下划线;
- 第二个字符以后的可以是字符数字等的任意组合。
默认变量
变量名 | 意义 |
---|---|
PHP_SELF | 目前执行的文件名称 |
SERVER_NAME | 服务器名 |
SERVER_SOFTWARE | 服务器软件 |
DOCUMENT_ROOT | 文档的根目录 |
HTTP_USER_AGENT | 用户相关信息 |
REMOTE_ADDR | 远程用户的地址 |
REMOTE_PORT | 远程用户的连接端口 |
在取得变量内容时,以变量名称为数组指针即取得信息。例如SERVER_NAME可以用$_SERVER[‘SERVER_NAME’]取得信息。
常量
定义:常量就是简单值的标识符(名字),代替一个有意义的值。常量如同其名称所暗示的,在程序执行期间该值不能改变。PHP的变量包含两种:一种默认常量,另一种的自定义常量。
默认常量
变量名 | 意义 |
---|---|
_FILE_ | 当前正在分析着的脚欧诺个在分析一个被include或require包含的文件,则该常数给出的是include所包含的文件名,而不是当前文件名。 |
_LINE_ | 当前正在分析着的行在脚本的行数。如果用在一个被include或require的文件中,则该常数给出的是(行)在被include包含的文件中的位置。 |
PHP_VERSION | 一个描述当前用着的PHP处理器的版本的字符串 |
PHP_OS | 正在运行本PHP处理器的操作系统的名字 |
TRUE | 真值 |
FALSE | 假值 |
E_ERROR | 指示一个不可恢复的语法错误 |
E_WARNING | 指示如下一种状态:PHP指导某处出错了,但仍可以继续运行;这些错误能被脚本自身捕获 |
E_PARSE | PHP在脚本的一个语病中被阻塞,不可恢复 |
E_NOTICE | 出现了可能是一个错误也可能不是的情况:(这种情况下)运行会继续 |
这些系统变量可以帮助我们很好地了解系统当前的情况,而且这些常量可以随时调用。
- 自定义常量:通过
define('name',number)
函数自定义需要的常量。
运算符及表达式
- 算术运算符
运算符 | 名称 | 结果 |
---|---|---|
$a + $b | 加法 | $a 和 $b 的和 |
$a - $b | 减法 | $a 和 $b 的差 |
$a * $b | 乘法 | $a 和 $b 的积 |
$a / $b | 除法 | $a 除以 $b 的商 |
$a % $b | 取模 | $a 除以 $b 的余数 |
++$a | 前加 | $a 的值加一,然后进行操作 |
$a++ | 后加 | $a 的值先进行操作,后加一 |
–$a | 前减 | $a 的值减一,然后进行操作 |
$a– | 后减 | $a 的值先进行操作,后减一 |
- 比较运算符
运算符 | 名称 | 结果 |
---|---|---|
$a == $b | 等于 | TRUE,如果$a等于$b |
$a === $b | 全等 | TRUE,如果$a等于$b,并且它们的类型也相同 |
$a != $b | 不等 | TRUE,如果$a不等于$b |
$a <> $b | 不等 | TRUE,如果$a不等于$b |
$a !== $b | 非全等 | TRUE,如果$a不等于$b,或者它们的类型不同 |
$a < $b | 小于 | TRUE,如果$a严格小于$b |
$a > $b | 大于 | TRUE,如果$a严格$b |
$a <= $b | 小于等于 | TRUE,如果 $a 小于或等于$b |
$a >= $b | 大于等于 | TRUE,如果 $a 大于或等于$b |
另外一个条件运算符是“ ? : ”(或三元)运算符。
- 逻辑运算符
运算符 | 名称 | 结果 | ||
---|---|---|---|---|
$a and $b | 逻辑与 | TRUE,如果 $a 与 $b 都为 TRUE。 | ||
$a or $b | 逻辑或 | TRUE,如果 $a 或 $b 任一为TRUE。 | ||
$a xor $b | 异或 | TRUE,如果 $a 和 $b 不同时 | ||
! $a | 逻辑非 | TRUE,如果 $a 不为 TRUE。 | ||
$a && $b | 逻辑与 | TRUE,如果 $a 与 $b 都为TRUE。 | ||
$a | $b | 逻辑或 | TRUE,如果 $a 或 $b 任一为TRUE。 |
其中and与&& 、or与||是同一逻辑运算符的两种写法。
位运算符
位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的 ASCII 值。
表达式 | 名称 | 结果 | |
---|---|---|---|
$a & $b | 按位与 | 将把 $a 和 $b 中都为 1 的位设为 1。 | |
$a | $b | 按位或 | 将把 $a 或者 $b 中为 1 的位设为 1。 |
$a ^ $b | 按位异或 | 将把 $a 和 $b 中不同的位设为 1。 | |
~ $a | 按位非 | 将 $a 中为 0 的位设为 1,反之亦然。 | |
$a << $b | 左移 | 将 $a 中的位向左移动 $b 次(每一次 移动都表示“乘以 2”)。 | |
$a >> $b | 右移 | 将 $a 中的位向右移动 $b 次(每一次 移动都表示“除以 2”)。 |
字符串运算符
- 连接运算符(“.”),它返回其左右参数连接后的字符串。
- 连接赋值运算符(“.=”),它将右边参数附加到左边的参数后。
错误抑制操作符
- 在最常见的数据库连接与文件创建操作或出现除0等异常时,可以用@符号来抑制函数错误信息输出到浏览器端 $a=@(5/0)
- 外部命令执行 ,使用``来运行外部系统命令,注意不是单引号,是ESC下面那个按键
常用的控制流
if语句
简单的if语句
123
if(判断语句) { 执行语句体;}
if…else语句
12345
if(判断语句) { 执行语句体1;} else { 执行语句体2;}
嵌套if…else语句
123456
if(判断语句) { 执行语句体1;} else if(判断语句2) { 执行语句体2;} else if...else...
switch语句(多分支选择性语句)
表达式:
123456
switch(表达式) { case 1: 执行语句体1;break; case 2: 执行语句体2;break; ... default:执行语句体n;break;}
switch后面括号内的表达式,可以是整型表达式或字符型表达式,也已是枚举型数据。表达式的值与case语句后面的值逐个进行匹配,如果匹配得上,就执行case语句后面执行语句体,然后通过break跳出该循环。如果最终没有case语句匹配的表达式,则执行default后面的执行语句体。(default后面可以不加break)。
while循环
while语句
123
while(判断语句) { 执行体语句;}
do…while语句
123
do { 执行体语句;}while(判断语句)
for循环
for语句
123
for(表达式1,表达式2,表达式3) { 执行语句体;}
break、continue语句
break:具有结束、中断整个循环的作用,可以被用到for、do…while等循环中,起到结束循环的作用。实际上break语句还可以用来从循环体内跳出循环,即提前结束循环,接着执行其他语句。
continue:起到结束本次循环,执行下次循环的作用。
常用函数
输出函数
123456 |
echo() //【语言结构】print() //【语言结构】【有返回值】,若传输失败导致没有输出,它返回falsevar_dump()var_export() //【有返回值,翻译一个合法的PHP代码】printf() //类似与C语言的形式 printf("my name is %s, age %d", $name, $age);,打印出来sprintf() //跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样 |
数组函数
排序类
12345678910111213141516
// 按V,按元素值sortrsortasortarsort //按K,按键值ksortkrsort //按字母natsort(); //区分大小写的排序natcasesort(); //不区分大小写的排序, // 回调usort($arr,"strnatcmp")//回调类的排序,把$arr数组里的每一个元素丢到strnatcmp()[非自然数排序]处理【返回新的排序数组】
规律:
- 没有”k”,排序按照【value】排序,排序有”a”的表示要保留KEY,有”r”的倒序排
- 有“k”,排序按照【KEY】排序,有”r”的倒序排
- 有”u”的,表示要丢到回调函数中处理的
键值操作
12345678910111213
array_values($arr);//获取$arr中的值重排,去掉下标【返回值新索引数组】array_keys($arr[,"str",true])//获取$arr中所有字符是"str"的下标,形成索引数组,true表示区分大小写【返回新索引数组】 array_search("is",$arr[,true]) //返回值"is"在$arr中的key,找不到返回fales,true表示严格按照类型(8,"8")【返回第一个匹配值】 in_array("str",$arr);//判断"str"在$arr中是否存在,【返回BOOL】is_array($arr);//判断是否是数组【返回BOOL】array_key_exists($key,$arr); //查询$arr中是否有$key,【返回BOOL】 array_flip($arr);// 交换键值,如有重复,后来居上,【返回新数组】array_reverse($arr,[true|false]);//数组顺序反转,param2是否保留原来键值【返回新关联/索引数组】 array_column(array(),'name'[,name_two]) — 返回数组中指定的name列[可选参数,如果有返回name=>name_two的形式]【返回一维数组】
元素个数和唯一性
1234
array_unique($arr);//去掉$arr中的重复值,重复的保留第一个值,【返回数组,键值保留】 array_count_values($arr)//统计数组值出现的次数,【返回数组,KEY为原来数组的值,VALUE为统计的次数】count($arr[,1])/sizeof();//统计$arr的元素个数,参数"1"表示统计多维数组开启,默认0为关闭【返回统计个数】
回调函数
1234
array_filter($arr,"function");//把$arr放到函数function中处理,【返回判断为TRUE的数据组成新数组,键值保留】array_walk($arr,"function"[,"data"]);//把$arr放到function(&$v,$k,$data)中处理【返回值为bool】array_map("function",$arr,$arr2,$arr3,....);//把所有数组返回到回调函数统一处理,【返回数组】array_reduce($arr,myfunction[,initial]):把一维数组$arr中的值依次传到自定义函数myfunction($v1,$v2)的v2上,v1为累加值类似于( .= ),[如果有initial,先把其当v1传进去]【返回字符串】
拆分,合并,分解,接合数组
1234567891011
array_slice($arr,1[,2]);//在$arr中,从第二个开始取[,返回俩个值]【返回新数组(对原数组无影响),键值保留】array_splice($arr,1[,2,"aaa","bb"]);//删除或替换,从$arr第二个开始取,删除或替换2个值【返回值为新数组,拆掉原数组】 array_combine($arr1,$arr2);//数组$arr1为KEY,$arr2为VALUES结合形成新索引数组【返回索引数组】array_merge($arr1,$arr2,$arr3...);//数组进行合并,保留键值,有重复后来者居上(取后者)【返回新数组】$arr1+$arr2 // 发现有key值相同的,取前者,第二个重复的值丢弃 array_intersect($arr1,$arr2)//返回两个数组的交集,键值不变array_diff($arr1,$arr2)//返回两数组的差集,返回的值为第一个数组的值,键值不变 array_chunk($arr,2)//分割数组,把$arr按照【2个为一组】均等分割【返回一个二维数组】
数组的数据结构【2.无返回值,传值引用,就直接对原数组进行了修改】
12345678910111213
array_shift($arr)//从开头,删除数组第一个元素array_unshift($arr,"one","two")//从开头,添加元素array_pop($arr)//从结尾,删除数组最后一个元素array_push($arr,"aaa");//从结尾,添加元素 current($arr)//返回数组中的当前单元 比如是关联数组是不知道下标,可以输出当前数组的办法解决key($arr)//返回当前指针指向元素的键值next($arr)//当前指针下移pre($arr)//当前指针上移end($arr)//指针指到最后reset($arr)//指针回归到开头 unset($arr)//销毁此数组
其他
12345
array_rand($arr,2);//随机返回两个$arr数组当中的key【返回值为值或者数组】shuffle($arr)//随机的重组$arr,顺序变乱【返回新数组,保留键值】array_sum($arr);//返回$arr的value的和【返回一个值】range(0,10,2,)//快速创建0,10的数组,间隔为2,所以有5个值【返回新索引数组】http_build_query($arr)//把关联数组转换成一个经过urlencode加密的URL eg:array["a"=>2];=>URL:a=2&
字符串函数
返回bool
12
isset($a) //当$a=NULL 或不存在,返回false,反之为trueempty($a) //当$a=NULL/''/array()/0/'0'/不存在时 返回true,反之为false
返回值为自字符
1234567
substr(字符串,开始地方,[返回字符串的长度]); // 截取字符串的一部分,第一个字符位置为0substr_replace($str,"aaa",start[,length]); // 在$str上操作,从第start个开始,把【后边】的字符[全/或length个]替换sub_count($str,"is"[,5,10]); //[ 从第五个字符开始,搜索长度为10,]搜索is在$str中出现的次数,【返回次数】strstr($email,"@"[,true]) //从头开始搜索,无true返回@后边字符,有true返回@前边的字符[strrchr对比]strrchr($email,"@") //从结尾开始搜索,返回@后的所有字符str_replace(被替换词,替换词,被搜索字符串,[统计替换次数$num]) //前两个参数也可为数组,两个数组元素个数相同str_repeat($str,num); //重复$str字符串 num次,
返回值为数字类的
1234567891011121314151617
// 定位strpos($str,"@"); //返回@【第一次出现的位置】strrpos($str,"@"); //返回@【最后一次出现的位置】 //统计strlen($string);成功则返回字符串 $string 的长度mb_strlen($string,'utf8');//获取字符串$string长度,多字节的字符被计为 1。str_word_count($str[,0/1/2]); //返回$str中单词的数量[0指返回次数,默认值/1指以数组形式返回单词值/2指返回关联数组,k为单词首字母下标,v单词值] //以下四个比较函数,【返回值:相等0,小于-1,大于1】strcmp($str1,$str2); //按ASCII码比较 str1>str2 则返回1 相等返回0 <返回-1 strcasecmp //比较两个字符串(不区分大小写),函数是二进制安全的。类似于strncasecmp(),但是strncasecmp可以指定每个字符串用于比较的字符数。strnatcmp($str1,$str2); // 使用"自然"算法来比较两个字符串(区分大小写) strnatcasecmp($str1,$str2); // 使用一种"自然"算法来比较两个字符串(不区分大小写) number_format(10000[,2]);//==》10,000.00 把第一个参数格式化,保留2位小数
在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
文本处理类
1234567891011
strtoupper($str) //字母全转为大写【返回全大写字符串】strtolower() //字母全转为小写【返回全小写字符串】ucfirst() //整个$str首字母大写ucword() //$str每个单词首字母大写 strtotime('2015-10-10 10:10:10'); //指定时间转换为时间戳【返回时间戳】 str_pad($str,length,[---,STR_PAD_BOTH]); //在$str的两边填补“---“,注意,length若小于$str长度,不填补 trim($str[,"a",STR_PAD_BOTH]) //去除两边/左/右的空白或"a",默认是空白,或自定义字符 floatval("123.45aa") //=》获取变量的浮点值【123.45】
HTML类处理
1234567891011
htmlspecialchars($str) //函数把【预定义字符】转换为【 HTML 实体】,&转换成&htmlspecialchars_decode($str); //把【HTML实体】转换成【预定义字符】,&转换成&htmlentities($str); //函数把【预定义字符】转换为【 HTML 实体】,&转换成&,有乱码问题,注意第二第三个参数,若编码不正确,会在实体化时把信息丢失。html_entity_decode($str); //把【HTML实体】转换成【预定义字符】,&转换成&, > 转成 < addslashes($html); //添加转义字符“/”stripslashes($html); //删除转义字符“/”strip_tags($html); //去除HTML标签 nl2br($str); //在$str中的换行/n前插入<br>,因为\n在源码可以换行,但是在浏览器窗口不行,有这个就可以iconv( from_charset ; to_charset,$str); //转化字符格式,如$file_name = iconv("gb2312","utf-8",$file_name);
正则函数
字符串的匹配查找
1234
preg_match($pattern,$subject,$arr); //按正则$pattern处理$subject,第一次匹配结果返回到数组中【函数的返回值为匹配次数】preg_match_all($pattern,$subject,$arr) //按正则$pattern处理$subject,全部匹配结果返回到数组中【函数的返回值为匹配次数】strstr($str,"@"[,true]);strpos,strrpos,substr($str,position) //联合使用
字符串的替换
12
preg_replace($pattenr,$replace,$str);//【强大的字符串处理函数】在$str中,把$parrern匹配的值替换成$replcae【返回值为处理后的字符串】str_replace($str,"aaa","bbb");//把$str中的aaa换成bbb
字符串的分割和链接
123
preg_split($pattern,$str);通过一个正则表达式分隔字符串【返回值为数组】explode(",",$str[,$limit_num]);//把$str按照","分割成一个数组[可选参数为返回数组的元素个数]【返回一个分割后的数组】impolde("+",$arr);//把$arr里的元素按照“+”链接成一个字符串
遵循:能用字符串函数解决不用正则的原则,主要依据是速度问题,内部函数快于正则。
数学函数
1234567891011121314 |
ceil()//向上取整floor()//向下取整round();//四舍五入abs();//取绝对值 rand(10,100)//随机取值mt_rand(10,100)//随机取值,算法不同,速度更快 fmod()//返回除法浮点形余数 max(int/$arr)//取最大值min(int/$arr)//取最小值 pow(1024,2)//返回1021的2次幂 |
时间函数
12345678910 |
date_default_timezone_set()('PRC');//设置时区为中国 date.timezone ="PRC";//或者直接修改PHP.INI time(); //默认获取当前时间,【返回时间戳格式】micritime(); //获取当前时间【返回毫秒的时间戳】getdate() //获取当前时间,【返回一个数组,参数年,月,日等都有】 mktime(H,i,s,m,d,Y) //指定时间转为时间戳,参数为空的时候作用与time()相同【返回时间戳格式】strtotime('2015-10-10 10:10:10'); //指定时间转换为时间戳【返回时间戳】date("Y-m-d H:i:s",time()); //转换时间戳为日期格式【返回目标格式的字符串】 |
JSON
123 |
json_encode($data);//对变量进行JSON编码json_decode($data)//对JSON格式的字符串进行解码json_last_error();//返回最后一次反生的错误 |
SQL函数
12345678910111213 |
mysql_connect('localhost',"root","root"); //连接数据库mysql_select_db('data',$conn); //选择数据库名mysql_query('set names utf8'); //设置编码 mysql_fetch_row(); //返回索引数组mysql_fetch_array(); //试返回值为关联/索引数组mysql_fetch_object; //返回对象mysql_fetch_assoc(); //返回关联数组 mysql_num_rows(); //返回上一次select的查询语句条数mysql_affected_rows(); //返回上一次insert,update,delete的数据条数 mysql_close(); //关闭数据库 |
URL处理函数
12345 |
urlencode($url) //对该URL进行编码;原因:防止乱码,解决空格的呢个字符不能传递问题,form也是此编码格式传递urldecode($url) //对该URL进行解码parse_url($url) //返回该URL的所有信息,[scheme协议][host域名] [path路径][query参数] 【返回含信息的数组】pathinfo($url) //["dirname"目录名] ["basename"文件名] ["extension"文件后缀]【返回含信息的数组,下标不同】get_meta_tags($url) //获取该页面的所有META标签【返回关联数组】 |
其他函数
123 |
sleep(10)//脚本执行到这里后,延迟10秒继续执行serialize()//返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。unserialize()//对单一的已序列化的变量进行操作,将其转换回 PHP 的值。 |
当序列化对象时,PHP 将试图在序列动作之前调用该对象的成员函数 sleep()。这样就允许对象在被序列化之前做任何清除操作。类似的,当使用 unserialize() 恢复对象时, 将调用 wakeup() 成员函数
参考:
- PHP常用函数归类总结【大全】
PHP(三)——PHP基础知识相关推荐
- 串口发送tcp数据 源端口号_三分钟基础知识:用动画给面试官解释 TCP 三次握手过程...
作者 | 小鹿 来源 | 小鹿动画学编程 写在前边 TCP 三次握手过程对于面试是必考的一个,所以不但要掌握 TCP 整个握手的过程,其中有些小细节也更受到面试官的青睐. 对于这部分掌握以及 TC ...
- [Java面试三]JavaWeb基础知识总结.
[Java面试三]JavaWeb基础知识总结. 1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Int ...
- 【练习题】心田花开:三年级基础知识+写作练习
学好语文打好基础很重要,多做多练也必不可少,三年级对于孩子们来说无疑是学习的分水岭,这时候就要更加注重语文知识的学习,心田花开整合了三年级语文基础+写作的练习题,为孩子们提升语文成绩贡献一份力. 一. ...
- 数据库系统概论第三单元基础知识(一)
mysql基础操作 mysql8.0 workbench /* ----------------------------基础知识------------------------------ */ # ...
- Kinect for Windows SDK开发入门(三):基础知识 下
原文来自:http://www.cnblogs.com/yangecnu/archive/2012/04/02/KinectSDK_Application_Fundamentals_Part2.htm ...
- 初学python类必须要知道的三个基础知识(入门理解)
一. 为什么要用到类: 类是一种更高级的封装,可以将多个功能函数按照一定的顺序组织成新的结构,这个结构有几个主要作用: 1.将复杂的组织功能装成一个整体,降低了代码使用的复杂度.外界可以直接使用而不用 ...
- python第三项基础知识_Python学习心得——基础知识(三)
一.常见的Python种类 1.Cpython 使用C语言实现,Python的官方版本,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上.我们目前 ...
- Elasticsearch笔记(三)基础知识
Elasticsearch笔记(二)安装与使用 理论知识 索引.文档.节点.分片 索引.文档偏向开发人员 节点.分片偏向运维人员 文档(Document) 简介 Elasticsearch是面向文档的 ...
- [Windows驱动开发](三)基础知识——驱动例程
一.NT式驱动的基本例程 1. 驱动入口函数--DriverEntry [cpp] view plaincopy // 驱动程序的一般性定义 NTSTATUS DriverEntry(IN PDRIV ...
- 软路由(openwrt)的三个基础知识
openwrt的分支 openwrt openwrt是openwrt的主分支,其官网是:https://openwrt.org/ 默认官方提供的系统镜像功能比较少,基本上只提供了路由器基本功能:如果需 ...
最新文章
- 【Web前端培训基础知识】ES5及ES6this详解
- c266 设置邮箱_工作邮件如何写?—有效沟通才是你的核心竞争力
- JS中的call、apply、bind方法详解
- IIS7.5 HTTP 错误 500.19 - Internal Server Error 问题的解决方案
- 在DWR中实现直接获取一个JAVA类的返回值的两种方法
- 5、CSS 派生选择器
- Hibernate插入错误:GenericJDBCException: could not insert:
- 服务器开机提示修复,电脑开机提示自动修复怎么办?win10电脑开机提示自动修复教程...
- jersey客户端_每个客户使用Jersey处理的Cookie
- EntityFramework包含作用
- 解决eclipse启动停在一个空白窗口的问题
- 记一次网站无法访问解决过程,服务器80端口问题解决过程
- python入门代码-Python入门学习系列——Python代码测试
- 2020-10-12
- Python入门学习三
- BottomBar之Android底部菜单
- 延长计算机屏幕显示时间,如何设置电脑显示屏保时间
- 007 定位明文封包call
- python 使用PIL工具包中的pytesseract函数识别英文字符
- java affinity_线程亲和性(Thread Affinity)
热门文章
- 谷歌验证 (Google Authenticator) 的实现原理是什么?
- PHP读取创建txt,doc,xls,pdf类型文件
- [WPF]获取控件间的相对位置
- 计算机组成结构IR,计算机组成与体系结构试题
- python中如何安装django库_python安装好django库,新建django项目
- android 悬浮球简书,轻松自制flyme悬浮球
- linux以预置密码进行验证拒绝访问,Linux重置MySQL密码
- 时间序列分析之:傅里叶变换找周期
- c# html文件转换word,C#实现word转换成html文档 源码
- android最新框架,XUpdate 一个轻量级、高可用性的Android版本更新框架