本周学习知识点:

一.PHP的循环结构

二.PHP函数的声明与使用

三.数组的定义以及遍历

四.常用的数组相关的函数

五.面向对象

六.三大特性以及修饰符、关键字

七.抽象类、接口、多态性

八.魔术方法,魔术常量

一.PHP循环结构分类:

(1)While循环

语法格式:

While(条件){

如果条件成立,就执行{}里面的语句

执行结束后继续判断条件 //循环的条件避免死循环

}

While嵌套循环,需要先把嵌套在内的循环执行完毕再执行外面的循环

(2)Do...while 循环

语法格式:

Do{

执行{}里面的语句

执行结束后继续判断条件

}while(条件);

区别:

Do...while 循环:

一上来先执行,第二次再执行的时候判断条件是否成立

While循环:

则是先判断条件,如果条件成立则执行循环的代码

(3)For循环:

For循环语法:

For(exp1;exp2;exp3){

表达式1:循环开始之前无条件赋值

表达式2:在开始循环之前判断条件,如果为true则执行,否    则停止循环

表达式3:每次循环结束求值

}

二.PHP函数的声明与使用

A.函数的特点:

函数都是由3部分组成:声明、函数名、函数体

1.所有PHP的函数都是由 function 来声明的

2.函数名是用来找到函数体的

3.函数只有被调用才能执行,可以在声明之前调用也可以在声明之后调用

4.可以通过向函数传递参数来改变函数的行为

5.参数分为:形式参数、实际参数:

定义函数的时候参数是 形式参数(形参),摆设

调用函数的时候才传递的参数是实际参数(实实在在起作用的)

6.函数的返回值使用return完成

7.函数一遇到return语句即结束,停止函数的执行

B.函数的优越性:

提高程序的重用性、可维护性、提高软件的开发效率

C.PHP变量的范围:

1.在函数中声明的变量就是局部变量,局部变量只能在函数中使用;

2.在函数外声明的变量称之为全局变量,全局变量只能在函数外部使用;

3.如果需要在局部范围内使用全局变量,使用 global或者$GLOBALS;

4.函数范围内的变量(局部变量)一旦函数执行完毕变量即被释放

D.PHP的静态变量:

1.静态变量只能在(函数、类中声明),不能在全局范围内声明

2.静态变量需要使用关键字 static

3.通常用于  统计服务器的浏览量

function demo(){

static $a = 10;

$a++;

echo $a.'<br/>';

}

demo();     //11

demo();     //12

demo();     //13

作用:一个变量可以在同一个函数的多次调用中通用,静态变量只存在函数中

E.PHP变量函数:

变量函数:一个变量的值可以作为一个函数的名字

function test(){

$a=10;

echo $a;

}

$var='test';

echo $var();

F.PHP函数的分类:

1.自定义函数

2.内建函数

2.1,  常规函数:copy()拷贝文件,移动文件,使用 rename()函数

$file='e:/g.txt';

$file_name='e:/g.txt.bak';

copy($file,$file_name);

2.2,  带有&符号的函数

表示引用赋值,函数将变量(参数)的值修改后,在其他地方使用该变量时,该变量的值也会发生改变

2.3,  带有[] 的函数

表示这个参数是可选的,如果你传值了,就使用你传递的,如果没有就使用默认的

2.4,  带有...参数的函数:可传任意参数

2.5,  回调函数

array array_filter(array$input[,callback $callback ] )

用回调函数过滤数组中的单元

三.数组的定义以及遍历

A.特殊的流程控制语句

Break:指定break 跳出第几层循环

Break 1 代表 跳出第一层循环

Break 2 代表 跳出第二层循环

Continue:跳出本次循环,继续执行下一次循环

Exit:直接跳出当前脚本

B.数组:保存多个元素的集合

1. 每个元素都是由键(下标)和值组成

2. 单独访问某个元素时都是通过下标来访问值的

3. 数组的下标都是从0开始的

C.数组的声明

a.直接为数组元素赋值,使用 []

1。如果不给出索引下标,就会从0开始

2。如果给出索引下标,下一个索引就会从最大的开始 +1

3。如果后面出现前面的下标,相当于给前面的下标重新赋值

4。数组下标会从最大的下标开始加1

b. 使用array()函数声明

1.使用array()函数声明的数组,默认是索引数组

2.如果为关联数组 或者 索引数组指定下标,使用 =>

c. 调用其他函数返回一个数组

file()函数,获得一个文件中的所有内容,返回一个数组

<?php

$lines = file('http://www.example.com/');

foreach ($lines as $line_num => $line) {
 echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}

$html = implode('', file ('http://www.example.com/'));

?>

D.遍历数组的方式

1. for循环遍历数组

前提是:下标必须是索引数组,而且下标必须是连续的

2. Foreach()循环遍历数组

循环次数是由数组元素个数决定,每次循环都会将数组元素赋值给后面的变量

语法:

foreach($array as $value){

//每循环一次将数组元素的值赋给变量

循环体

}

foreach($array as $key=>$value){

//每循环一次将数组的下标赋给$key将数组的值赋给$value

循环体

}

3. While(),list(), each()组合遍历数组

a.each()函数遍历数组

1. Each()函数遍历数组,需要一个数组作为参数,返回值也是数组

2. 返回的值只有 0  1  key  value四个下标

0 和 key保存的是数组的下标

1和value保存的是数组的值

3. 默认当前元素就是第一个元素

每循环一次就会将当前的指针向后移动一位

如果已经是最后一个元素,再循环则返回false

b.List()函数遍历数组

1. 需要将一个数组赋值给这个函数

2. 数组中的元素个数要和list()参数个数一致

3. 数组中的每个元素值会赋值给list()函数中的每个参数,list()函数将每个参数转为变量

4. list()只能接收索引数组,按索引下标的顺序接收

四.常用的数组相关的函数

A.预定义的超全局数组:

1. 系统预定义的,而且全局范围内自动生效

2. 用户不能自定义这些数组,只能使用

3. 在函数中不需要使用global声明

$_GET、$_POST、$_REQUEST、$_FILES、$_COOKIE、$_SESSION

、$_ENV、$_SERVERS、$GLOBALS

a.GET、POST 提交的区别:

1,安全性:由于GET方式是通过在地址栏传递数据,安全性低

建议:机密信息使用GET方式

2,GET方式传递的数据量小,不能大于2KB,POST方式默认不受限制

$_REQUEST既可以获得GET 方式提交的数据 又可以获得POST方式提交的数据,但是$_REQUEST没有针对性,效率低,如果能保证请求时使用的是什么方式,尽量使用对应的方式获取

b.$_ENV和计算机的环境相关的变量

COMPUTERNAME   计算机名称

Path              环境变量

OS          操作系统

SystemRoot      系统根目录

c.$_SERVER和服务器相关的变量

DOCUMENT_ROOT服务器根路径

SERVER_ADDR         服务器的IP地址

SERVER_NAME服务器端的主机名

REMOTE_ADDR  浏览当前页面的用户的IP地址

REMOTE_HOST 浏览当前页面的用户的主机名

SERVER_PORT Web服务器使用的端口

d.$GLOBALS全局作用域中的所有变量,下标名称就是全局变量名

B.数组键、值相关的函数

Array_values()  返回数组中所有的值,并返回数字索引

Array_keys()      返回数组中所有的键名,如果指定第二个参数,只返回该值的键名;如果指定第三个参数 为true,则进行全等比较

In_array()      判断数组中是否存在某个值,如果有第三个参数代表全等匹配

Array_key_exists检查给定的键名或索引是否存在于数组中

Array_flip()交换数组中的键和值

Array_reverse()返回一个顺序相反的数组

C.数组统计函数

count() 的别名sizeof() :获得数组的元素个数;count 如果有第二个参数,递归的返回元素个数

Array_unique()    移除数组中重复的值

D.使用回调函数过滤数组

array_filter() 用回调函数过滤数组中的单元

array_walk()  对数组的每个成员应用用户函数

array_map()   对数组的每个元素身上做处理之后再返回新的值,第一个参数是回调函数;第二个参数为数组

E.数组排序函数:(r逆向排序;a保持索引关系;u用自定义函数排序;k对键值排序)

sort()对数组的值进行排序

rsort()    对数组进行逆向排序

usort()用用户自定义的比较函数对数组中的值进行排序

asort()对数组的元素按照值排序

arsort()对数组的元素值按照逆向排序

uasort()使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

ksort()对数组的元素按照键名进行排序

krsort() 对数组的元素按照键名进行逆向排序

uksort() 使用用户自定义的比较函数对数组中的键名进行排序

natsort()保持原有的键/值 关联(区分大小写)

natcasesort()     对数组进行不区分大小写的排序

F.拆分、合并、分解的数组函数

array_slice()   从数组中取出一段

array_splice()  把数组的一部分去掉并用其他值取代

array_combine()  合并数组,用一个数组的值作为其键名,另一个数组的值作为其值

array_merge() 合并数组,将一个数组的值附加在另一个数组的后面

array_intersect()  计算数组的交集

包含在第一个数组并且也在第二个数组中的元素,注意保留键名

array_diff()  计算数组的差集(保留了所有在第一个数组,但是不在其他数组中的值)

G.数组和数据结构函数

1. 使用数据实现 堆栈(先进后出)

array_push()   入栈,对数组的尾部

array_pop()    出栈,对数组的尾部

2. 使用 队列  (先进先出)

array_shift()  出栈,对数组的头部

array_unshift() 入栈,对数组的头部

3. 其他数据相关的函数

array_rand()   随机获得数组下标

shuffle()      打乱数组元素

array_sum()   计算数组所有元素的和

range()       建立一个包含指定范围单元的数组

五.面向对象

从PHP 5开始,引入面向对象程序设计

面向对象:程序的最小单元,对象/类

面向过程:程序的最小单元是函数

php程序设计的思想===>>面向过程

A.类、对象、以及类和对象之间的关系

类可以比喻成 模子,不同的模子可以造出不同形状的食物,同样的         道理,不同的类 可以实例化不同的对象。

类---->实例化出来的就是对象。

对象的实例化:只有对象才在内存中占有空间

实例化对象就是指---将抽象的东西----转换成实实在在的例子

使用new新建一个对象,new 类名,创建那个类的对

对象的使用:对象中的成员必须通过对象的引用来访问

$对象->成员属性

$对象->成员方法

B.类的声明

1.Class 类名{

  成员属性:外观、颜色

成员方法:(功能)打电话、发信息}

2.类声明成员属性时:前面必须有修饰词,如果不知道使用哪个修饰词时,就使用var

3.在PHP的面向对象中,默认是public,在任何地方都可以访问

4.private:私有的 (在本类中访问)

protected受保护的 (可在子类中访问)

C.对象访问成员

对象中,访问其他的成员,在对象的内部,都默认有一个$this关键字,代表对当前对象的引用

D.构造方法(构造器)

1.实例化一个对象的时候,会自动的首先调用类的构造方法

2.构造函数初始化值

E. 析构方法

当对象被释放之前,自动的调用的方法,(当关闭一些资源时,做一些清理工作)

六.大特性以及修饰符、关键字

A.封装性

1,将自然实体的特征(属性)、能力,使用计算机面向对象的语言去描述,将自然语言抽象成计算机语言的过程

2,将实体的属性和方法封装到我们类的内部时,应该尽量的隐藏对象内部的细节

3,任何属性都不应该是公共的,如果需要我们访问或编辑此属性的值的话,需要给用户提供有限的接口(公共的方法)来完成

在PHP的面向对象中,默认是public,在任何地方都可以访问

使用private 关键字对属性和方法进行封装,只能在对象的内部进行访问,不能在外面进行访问

B.继承性:用子类去扩展父类

1.C++属于多继承,同一个类可以有多个父类

2. PHP和Java属于单继承,同一个类只能有一个父类

C.继承性的使用:

1.如果两个或两个以上的类中,有公共的部分就可以共享,共享的部分就可以作为父类

2.如果在父类中修改一个属性或功能,在所有的子类中的成员都会发生变化

3.声明一个子类,使用extends 关键字去继承(扩展)一个父类;

子类可以继承父类所有的内容,包括成员属性和成员方法、构造方法....如果子类有构造方法,就是用自己的,如果没有继承自父类

D.访问类型控制

1.子类可以继承自父类所有的内容,但是private的成员只能在本类中使用,子类中也不能使用

2.protected既可以让自己类的内部访问,又可以让子类访问,但是在类的外部不能访问

3.在PHP的面向对象中,默认是public,在任何地方都可以访问

E.子类对父类方法的重载:

1.子类可以声明 和 父类相同的方法名,即子类覆盖父类中同名的方法

2.子类的方法对父类的扩展:在子类中调用父类中被覆盖的方法

3.父类名::父类方法

如果父类名修改了,需要都得修改,所以在子类中可以使用parent,代表父类

F. :: 范围解析操作符

::  范围解析操作符,通过类访问类的成员,只能访问类中的 常量、方法、或者静态成员

G.定义类文件

子类中编写构造方法,如果父类中也有构造方法,一定要去调用一次父类中被覆盖的构造方法,因为父类中的构造方法可能有其他的作用

H.面向对象中的关键字

a.final关键字

1,final关键字不能修饰成员属性,只能修饰类和方法

2,用来限制类不被继承,方法不被覆盖

b.static关键字

static 关键字 可以修饰成员属性和成员方法,静态的数据保存在内存中

注意:

1. 在类内部访问成员属性,使用self关键字; 在类的外部访问,使用类名::

2. 在非静态方法中不能访问静态方法,但静态能访问非静态方法

3. 静态方法不能使用对象去访问,也就没有对象,所以在静态方法中不能使用$this

作用:不用实例化对象,可以直接通过类来访问

c.const关键字

1. 类常量只能修饰成员属性

2. 类中声明常量使用 const关键字

3. 访问方式和static静态成员属性是一样的,(在类的外部使用 类  名::常量名,在类的内部使用 self::常量名)

4. 类常量必须在声明时就给初始值

5. 类常量的值只能为标量数据

七.抽象类、接口、多态性

A.抽象类、抽象方法

1.一个类中的方法没有方法体,即没有{},直接以分号结束,这个方法就是抽象方法,必须使用abstract修饰

2.一个类中只要有一个抽象方法,这个类就是抽象类,抽象类必须使用abstract修饰

3.抽象类不能实例化对象

B.抽象类的使用

1.使用抽象类就必须用一个类去继承抽象类,子类不能再是抽象类,而且必须重写/覆盖抽象方法

2.抽象方法没有方法体,但是子类必须继承,并且有方法体

3.定义一些规范,让子类按照这些规范实现自己的功能

C.接口:一种特殊的抽象类

抽象类 和 接口的作用是一样:因为PHP是单继承的,如果使用抽象类,子类继承了抽象类就不能再去继承其他的类了,如果既想继承抽象类,又想继承/其他的类,就需要使用接口

D.接口和抽象类的比较

1,作用相同,都不能创建对象,都需要子类去实现

2,接口的声明、实现方式 和抽象类不一样

3,接口中的所有方法必须是抽象方法(不使用abstract修饰)

4,接口中的成员属性,只能声明常量

5,接口中的成员访问权限,都必须是public,抽象类中最低的权 限是protected

6,使用一个类去实现接口,不能是extends 而是implements

7,如果想让子类创建对象,子类必须实现接口的全部功能

E.接口继承

1.可以定义一个接口继承另一个接口

2.一个类可以实现多个接口(按多个规范去开发子类),多个接口使用,隔开

3.一个类可以在继承一个类之后,去实现一个或多个接口

4.如果想实例化子类的对象,必须完成接口提供的所有方法

F.多态性

让软件开发和维护时,达到充分的延伸性。事实上,多态最直接的定义就是让具有继承关系的不同类的对象,可以对相同名称的成员函数调用,产生不同的效果

八.魔术方法,魔术常量

//系统内置常量   魔术常量

echo __FILE__;//当前文件绝对路径

echo"<br/>";

echo __LINE__;//当前文件的行号

echo"<br/>";

echo PHP_VERSION;//php版本

__autoload()  当用到时自动加载函数

加载与自动加载案例:

require'one.class.php';

require'two.class.php';

require'three.class.php';

$one=new one;

$two=new two;

$three=new three;

echo '<pre>';

var_dump($one);

var_dump($two);

var_dump($three);

echo'</pre>';

===============================

function __autoload($className){

require $className.'.class.php';

}

$one=new one;

$two=new two;

$three=new three;

echo'<pre>';

print_r($one);

print_r($two);

print_r($three);

echo'</pre>';

学习总结:

一.While案例:

1,循环输出100次循环

2,用while循环输出一个1行99列的表格

3,实现隔行换色

步骤1:先绘制10行10列的表格

步骤2:各行换色

步骤3:鼠标移入变红色;鼠标移除恢复原来的颜色

<?php

header("Content-Type:text/html;charset=utf-8");

$num = 0;

echo '<table border=1 width="500px" align=center>';

echo '<caption><h1>while循环输出10行10列的表格</h1></caption>';

while($num<100){

if($num%10==0){

if($num%20==0){

$bg = '#ffffff';

}else{

$bg = 'silver';

}

echo "<tr bgColor='$bg' οnmοuseοver=lrow(this) οnmοuseοut=arow(this)>";

}

echo "<td>{$num}</td>";

$num++;

if($num%10 ==0){

echo '</tr>';

}

}

echo '</table>';

?>

<script>

var color = null;

function lrow(obj){

color = obj.bgColor;

obj.bgColor = 'red';

}

function arow(obj){

//alert('out');

obj.bgColor = color;

}

</script>

二.For循环经典案例(九九乘法表):

for($i=1;$i<10;$i++){

for($j=1;$j<=$i;$j++){

echo $i.'x'.$j.'='.($i*$j).' ';

if($i==$j){

echo '<br/>';

}

}

}

三.回调函数

$arr=array(1,3,6,8,9);

$new_arr=array_filter($arr,demo);//把参数传递进来之后再回过头去调用另外一个函数

function demo($array){

if($array>6){

return true;

}else{

return false;

}

}

print_r($new_arr);

四.Foreach()循环遍历数组

<?php

$array=array(

'市场部'=>array(

array(1,'CEO','李开复','1000¥'),

array(2,'总监','马腾化','1000¥'),

array(3,'业务员','马云','1000¥'),

),

'财务部'=>array(

array(1,'CEO','马化腾','1000¥'),

array(2,'总监','张朝阳','1000¥'),

),

'技术部'=>array(

array(1,'总监','比尔盖茨','1000¥'),

),

);

?>

<html>

<head>

<meta charset='utf-8'/>

</head>

<body>

<?php

foreach($array as $key=>$value){

echo '<table align=center border=1 width=500>';

echo "<caption><h1>$key</h1></caption>";

echo '<tr>';

echo'<th>编码</th><th>姓名</th><th>职务</th><th>工资</th>';

echo '</tr>';

//$value二维数组,保存的是有多少个人

foreach($value as $k=>$v){

echo '<tr>';

//$v代表每一个人的那个数组

foreach($v as $iterm){

echo '<td align=center>';

echo ($iterm);

echo '</td>';

}

echo'</tr>';

}

echo '</table>';

}

?>

</body>

</html>

五.While、list、each

1.  $array=array('比尔盖茨','60','男');

$var=each($array);

print_r($var);

2.  $arr=array('name'=>'比尔盖茨','age'=>60,'sex'=>'男');

while($user=each($arr)){

echo $user['key'].'=>'.$user['value'].'<br/>';

}

3.  list($name,$age,$sex)=array('比尔盖茨','60','男');

echo $name.$age.$sex;

4.$var=array('name'=>'比尔盖茨','age'=>60,'sex'=>'男');

while(list($key,$value)=each($var)){

echo $key.'==>'.$value.'<br/>';

}

六.数组相关函数

1./***

sort — 对数组排序

说明:

bool sort ( array &$array [, int $sort_flags ] )

本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。

**/

$array=array('Linux','Apache','MySql','PHP');

sort($array);

print_r($array);

2./***

array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

说明:

array array_combine ( array $keys , array $values )

返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。

如果两个数组的单元数不同或者数组为空时返回 FALSE。

**/

$arr=array('a','b','c');

$arr2=array(1,3,4);

$result=array_combine($arr,$arr2);

print_r($result);

七.面向对象连接数据库

class db{

//成员属性

var $hostname; //数据库的主机名

var $dbname;  //连接的数据库名字

var $user;//用户名

var $pass;//数据库密码

//成员方法

function __construct(){

$this->connect();    //谁实例化的这个对象,$this就代表谁

}

function connect(){

$GLOBALS[‘$link’] = mysql_connect('localhost','root','');

mysql_select_db('csdn2013');

mysql_query('set names utf8');  //注意 utf8没有-

$sql = "select * from process";

$result = mysql_query($sql);

var_dump($result);

}

//当这个页面即将关闭的时候,需要断开一下数据库的连接

function __destruct(){

mysql_close($GLOBALS[‘$link’]);

}

}

$db = new db;

八.多态的案例(USB):

interface USB{

function mount();  //挂载功能

function work();//开始工作

function unmount();//卸载功能

}

class Computer{

function UseUSB($usb){

$usb->mount();

$usb->work();

$usb->unmount();

}

}

class Upan  implements USB{

function mount(){

echo '挂载成功,你可以使用<br/>';

}

function work(){

echo 'USB设备开始工作<br/>';

}

function unmount(){

echo '卸载成功<br/>';

}

}

class Worker{

function install(){

//找到电脑

$cm = new Computer;

//拿过来一些设备

$Upan = new Upan;

//$Fengshan = new Fengshan;

//向电脑插入USB设备

$cm->UseUSB($Upan);

}

}

$worker = new Worker;

$worker ->install();

九.魔术方法案例:

class person{

public $name;

public $age;

function __call($className,$arge){ //$person->say();不存在时自动调用__call()方法

echo $className.'不存在';

}

function __construct($name,$age){ //构造方法

$this->name=$name;

$this->age=$age;

}

function __clone(){  //克隆时自动调用

echo "我是克隆的,不是".$this->name;

}

function __toString(){ //对象不能输出,自动调用toString方法

echo '不能echo对象';

}

}

class man extends person{

}

$person=new person('小白',22);

$person->say();

$man=new man('夏小白',20);

$man->age;

$man2=clone $man;

$man3=$man;

echo'<pre>';

print_r($man);

print_r($man2);

print_r($man3);

echo'</pre>';

//echo $person;//对象不能输出,调用toString方法

php常用的数组相关的函数及面向对象相关推荐

  1. PHP常用的数组相关处理函数

    [数组中常用的多种遍历方式] [for 和 foreach 略] [while() . list() .each() 组合循环遍历数组] each()函数 a. 需要一个数组作为参数 b. 返回来的也 ...

  2. PHP面试题:你所知道的php数组相关的函数?

    array()----创建数组 array_combine()----通过合并两个数组来创建一个新数组 range()----创建并返回一个包含指定范围的元素的数组 compact()----建立一个 ...

  3. js中常用的数组和字符串方法

    一:js中常用的数组方法 <script>//函数声明式中的方法const arr=[1,3,6,9,15,19,16];//函数的所有方法 map(),reduce(),filter() ...

  4. 【技术分享】PHP常用的数组函数

    数组中元素指针的移动 next:向后移动,指向下一个元素 prev:向前移动,指向前一个元素 end:指向最后一个元素 reset:复位,重新指向第一个元素 键.值的相关操作 key:获取数组当前元素 ...

  5. 测试常用shell语句——数值,数组类型;函数创建

    一.特殊类型的变量 shell下默认的变量类型为字符串类型 1,数值类型 如果进行数值运算,有这么几种方法 方法一: declare -i sum sum=100+200 echo $sum方法二: ...

  6. xml相关php函数,php常用XML函数集

    utf8_decode函数:将用UTF-8方式编码的ISO-8859-1字符串转换成单字节的ISO-8859-1字符串 utf8_encode函数:将ISO-8859-1编码的字符串转换为UTF-8编 ...

  7. 初学者必备的数组相关知识点

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:进击的合成尸 导读 作者是一名在读的大二学生,在我看来,是一 ...

  8. php特殊函数,PHP常用特殊运算符号和函数的简单示例

    这篇文章主要为大家详细介绍了PHP常用特殊运算符号和函数的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 注解符号: // 单行注解 多行注解 ...

  9. 数据处理中常用的Excel基本操作及函数

    数据处理中常用的Excel基本操作及函数-生信基础版 文章目录 数据处理中常用的Excel基本操作及函数-生信基础版 第一部分:键盘快捷键操作 一.CTRL系列 二.其他系列 第二部分:Excel函数 ...

最新文章

  1. android studio 执行不了,请问,Android studio程序不报错,但是一运行就stop是什原因...
  2. Java进阶高级程序员必备:深入浅出springboot+深入Java虚拟机
  3. 五种成功创业模式让你轻松赚到钱
  4. AIX-vi操作-提示Unknown terminal type的问题解决方法
  5. 理解 Azure 平台中虚拟机的计算能力
  6. formdata.append加多个值_redis的五种数据结构和应用场景:微博微信点赞+加购物车等...
  7. 上万条数据撕开微博热搜的真相!
  8. JAVA的cell设置行间距_iOS设置tableView的cell之间的间距
  9. InnoDB中Adaptive hash index存在问题、Percona改进及一个bug
  10. java中 移位运算符_java中的移位运算符心得总结
  11. MySQL教程:MySQL数据库学习宝典(从入门到精通)
  12. linux查看cpu与内存
  13. 超像素池化全监督语义分割
  14. 03、ADS使用记录之DC仿真控制器的使用
  15. Git和Github的基本操作
  16. 职业规划-服务器运维工程师(待完善)
  17. [硬件基础]开关电源和线性稳压器的优缺点?
  18. 爬虫爬取实时新闻标题、时间及新闻内容并保存
  19. 数模--2022华中杯A题(Java实现)
  20. 华为Play 4T Pro批量添加联系人

热门文章

  1. 【SQL】:保留小数点后几位(除法)
  2. 如何做好应用市场推广?
  3. 用计算机语言写结婚祝福语,抖音很火的一到10结婚祝福语
  4. 常见互联网公司职级和薪资一览!有条件的一定要进大厂,薪水是真高!
  5. php对联广告,纯DIV/CSS对联漂浮广告代码(无JS)
  6. 轨迹预测论文解读系列——几种经典的网络
  7. win10:应用程序无法正常启动(0xc0000142),请单击“确认”关闭程序
  8. Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
  9. 见或不见 →仓央嘉措
  10. 联想p720装系统_“多达112个框”:Lenovo 联想 推出 ThinkStation P920/P720系列 工作站...