首页 > 代码库 > PHP入门
PHP入门
索引数组初始化
PHP有两种数组:索引数组、关联数组。
索引和关联两个词都是针对数组的键而言的。
先介绍下索引数组,索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。
下面使用图来说明一下:
可以使用下面代码实现:
$fruit = array("苹果","香蕉","菠萝");
注意数组的键是从0开始的。可以使用print_r($fruit);
语句输出数组键及对应的值。
索引数组赋值
索引数组赋值有三种方式:
第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,索引数组中,中括号内的键一定是整数。比如,$arr[0]=‘苹果‘;
第二种:用array()
创建一个空数组,使用=>
符号来分隔键和值,左侧表示键,右侧表示值。当然,索引数组中,键一定是整数。比如,array(‘0‘=>‘苹果‘);
第三种:用array()
创建一个空数组,直接在数组里用英文的单引号‘
或者英文的双引号"
赋值,数组会默认建立从0开始的整数的键。比如array(‘苹果‘);
这个数组相当于array(‘0‘=>‘苹果‘);
访问索引数组内容
有的时候我们需要把数组中的内容也就是值取出来该怎么办呢?用数组变量的名字后跟的中括号中的键,来访问数组中的值。
例如:
$fruit = array(‘苹果‘,‘香蕉‘);$fruit0 = $fruit[‘0‘];print_r($fruit0);//结果为苹果
上面代码的作用:先把一个数组$fruit第一个值取出来然后赋给一个变量$fruit0,最后输出变量值。
for循环访问索引数组里的值
for循环可以将数组里的所有值都访问到,下面我们展示下,用for循环访问索引数组里的值。
例如:
$fruit=array(‘苹果‘,‘香蕉‘,‘菠萝‘);for($i=0; $i<3; $i++){ echo ‘<br>数组第‘.$i.‘值是:‘.$fruit[$i];}
foreach循环访问索引数组里的值
foreach循环可以将数组里的所有值都访问到,下面我们展示下,用foreach循环访问索引数组里的值。
例如:
$fruit=array(‘苹果‘,‘香蕉‘,‘菠萝‘);foreach($fruit as $k=>$v){ echo ‘<br>第‘.$k.‘值是:‘.$v;}
关联数组初始化
回顾下前面介绍的内容,PHP有两种数组:索引数组、关联数组。
索引和关联两个词都是针对数组的键而言的。
先介绍下,关联数组是指数组的键是字符串的数组。
可以使用下面代码实现:
$fruit = array( ‘apple‘=>"苹果", ‘banana‘=>"香蕉", ‘pineapple‘=>"菠萝");
可以使用print_r($fruit);
语句输出数组键及对应的值。
关联数组赋值
关联数组赋值有两种方式:
第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,关联数组中,中括号内的键一定是字符串。比如,$arr[‘apple‘]=‘苹果‘;
第二种:用array()
创建一个空数组,使用=>
符号来分隔键和值,左侧表示键,右侧表示值。当然,关联数组中,键一定是字符串。比如,array(‘apple‘=>‘苹果‘);
访问关联数组内容
用数组变量的名字后跟中括号+键的方式来访问数组中的值,键使用单引号或者双引号括起来。
比如:
$fruit = array(‘apple‘=>"苹果",‘banana‘=>"香蕉",‘pineapple‘=>"菠萝"); $fruit0 = $fruit[‘banana‘];print_r($fruit0);
上面代码的作用:先把一个数组$fruit中键为banana字符串的值取出来然后赋给一个另一个变量$fruit0,最后输出变量值。
foreach循环访问关联数组里的值
foreach循环可以将数组里的所有值都访问到,下面我们展示下,用foreach循环访问关联数组里的值。
例如:
$fruit=array(‘apple‘=>"苹果",‘banana‘=>"香蕉",‘pineapple‘=>"菠萝");foreach($fruit as $k=>$v){ echo ‘<br>水果的英文键名:‘.$k.‘,对应的值是:‘.$v;}
自定义函数
PHP内置了超过1000个函数,因此函数使得PHP成为一门非常强大的语言。大多数时候我们使用系统的内置函数就可以满足需求,但是自定义函数通过将一组代码封装起来,使代码进行复用,程序结构与逻辑更加清晰。
PHP函数的定义方式:
1.使用关键字“function
”开始
2.函数名可以是字母或下划线开头:function name()
3.在大括号中编写函数体:
function name() { echo ‘Eric‘;}
通过上面的步骤,我们就定义了一个简单的函数,当我们需要的时候,就可以在代码中调用这个函数,调用方法为函数名+参数,例如:name();
自定义函数
PHP内置了超过1000个函数,因此函数使得PHP成为一门非常强大的语言。大多数时候我们使用系统的内置函数就可以满足需求,但是自定义函数通过将一组代码封装起来,使代码进行复用,程序结构与逻辑更加清晰。
PHP函数的定义方式:
1.使用关键字“function
”开始
2.函数名可以是字母或下划线开头:function name()
3.在大括号中编写函数体:
function name() { echo ‘Eric‘;}
通过上面的步骤,我们就定义了一个简单的函数,当我们需要的时候,就可以在代码中调用这个函数,调用方法为函数名+参数,例如:name();
函数的参数
PHP的函数可以没有参数,也可以有若干个参数,多个参数称之为参数列表,采用逗号进行分割,参数类似于一个变量,调用时用来传递数据到函数体中。通过传递参数可以使函数实现对参数的运算,得到我们想要的结果。
参数的变量名可以自由指定,但最好能够表达相关的意思,常用的设定参数的方法为:
function sum($a, $b) { return $a+$b; }
返回值
使用return关键字可以使函数返回值,可以返回包括数组和对象的任意类型,如果省略了 return,则默认返回值为 NULL。
function add($a) { return $a+1;}$b = add(1);
返回语句会立即中止函数的运行,并且将控制权交回调用该函数的代码行,因此下面函数的返回值跟上面的函数是一样的。
function add($a) { return $a+1; $a = 10; return $a+20;}$b = add(1);
函数不能返回多个值,但可以通过返回一个数组来得到类似的效果。
function numbers() { return array(1, 2, 3);}list ($one, $two, $three) = numbers();
可变函数
所谓可变函数,即通过变量的值来调用函数,因为变量的值是可变的,所以可以通过改变一个变量的值来实现调用不同的函数。经常会用在回调函数、函数列表,或者根据动态参数来调用不同的函数。可变函数的调用方法为变量名加括号。
function name() { echo ‘jobs‘;}$func = ‘name‘;$func(); //调用可变函数
可变函数也可以用在对象的方法调用上。
class book { function getName() { return ‘bookname‘; }}$func = ‘getName‘;$book = new book();$book->$func();
内置函数
内置函数指的是PHP默认支持的函数,PHP内置了很多标准的常用的处理函数,包括字符串处理、数组函数、文件处理、session与cookie处理等。
我们先拿字符串处理函数来举例,通过内置函数str_replace可以实现字符串的替换。下面的例子将“jobs”替换成“steven jobs”:
$str = ‘i am jobs.‘;$str = str_replace(‘jobs‘, ‘steven jobs‘, $str);echo $str; //结果为“i am steven jobs”
另外一些函数是通过其他扩展来支持的,比如mysql数据库处理函数,GD图像处理函数,邮件处理函数等,PHP默认加载了一些常用的扩展库,我们可以安装或者加载其他扩展库来增加PHP的处理函数。
后面的章节我们会介绍更多其他的内置函数及用法。
判断函数是否存在
当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在。同样的method_exists可以用来检测类的方法是否存在。
function func() {}if (function_exists(‘func‘)){ echo ‘exists‘;}
类是否定义可以使用class_exists。
class MyClass{}// 使用前检查类是否存在if (class_exists(‘MyClass‘)) { $myclass = new MyClass();}
PHP中有很多这类的检查方法,例如文件是否存在file_exists等。
$filename = ‘test.txt‘;if (!file_exists($filename)) { echo $filename . ‘ not exists.‘;}
类和对象
类是面向对象程序设计的基本概念,通俗的理解类就是对现实中某一个种类的东西的抽象, 比如汽车可以抽象为一个类,汽车拥有名字、轮胎、速度、重量等属性,可以有换挡、前进、后退等操作方法。
通常定义一个汽车类的方法为:
class Car { $name = ‘汽车‘; function getName() { return $this->name; }}
类是一类东西的结构描述,而对象则是一类东西的一个具体实例,例如汽车这个名词可以理解为汽车的总类,但这辆汽车则是一个具体的汽车对象。
对象通过new关键字进行实例化:
$car = new Car();echo $car->getName();
类与对象看起来比较相似,但实际上有本质的区别,类是抽象的概念,对象是具体的实例。类可以使程序具有可重用性。
创建一个对象
上一节,我们使用汽车举例来认识了类与对象,本节我们来了解一下类的定义方法,类通过关键字class开头,然后是类名与花括号,在花括号中定义类的属性与方法。类名必须是字母或下划线开头,后面紧跟若干个字母、数字或下划线,类名最好能够表意,可以采用名词或者英文单词。
//定义一个类class Car { //定义属性 public $name = ‘汽车‘; //定义方法 public function getName() { //方法内部可以使用$this伪变量调用对象的属性或者方法 return $this->name; }}
要创建一个类的实例,可以使用new关键字创建一个对象。
$car = new Car();//也可以采用变量来创建$className = ‘Car‘;$car = new $className();
PHP入门