您的位置:首页 > 编程语言 > PHP开发

php学习之路

2016-07-18 13:58 399 查看
之前我更新过一个关于php的一个交互的博客,大家也很给面子,访问量也不算少,对于我这个小学生来说真是三生有幸!!

有的网友说对php不了解,没办法看懂,虽然也想了解这些东西,因为对于h5这个新兴的行业来说,如果你想只是靠前端吃饭的话,真的吃不开,至少你要回数据库和服务器,有助于你和后端的同事更好的合作!php相对于java来说简单好多了所以今天我就更新这么一篇关于php基础的知识,因为时间问题可能只能更新一点,以后续上......


1.PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。

PHP 是免费的,并且使用广泛。对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。
首先我们通过一个实例了解一下它的简单语法:
<!DOCTYPE html>
<html>
<body>

<?php
echo "我的第一段 PHP 脚本!";
?>

</body>
</html>

可以看出他可以在hml的便于环境下运行,而且它的开始是<?php开始 ,?>结束的很简单  就是有头有尾吗.和html差不多,它的文件扩展名是.php,它的输出是echo这个关键字.
再说一下它的编译器,就是我个人用的是phpstrom,因为我是搞前端开发的,所以我写服务器和前端的时候可以都在一个编译器上开发,很方便,大家这个是要破解的 ,我这里有破解方法  后续我会跟上,大家可以自行下载,


2.HP 中的注释

PHP 代码中的注释不会被作为程序来读取和执行。它唯一的作用是供代码编辑者阅读。
<!DOCTYPE html>
<html>
<body>

<?php
// 这是单行注释

# 这也是单行注释

/*
这是多行注释块
它横跨了
多行
*/
?>

</body>
</html>

3.关于变量

来个例子吧
<!doctype html>
<html>
<body>

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

</body>
</html>


正如代数,PHP 变量可用于保存值(x=5)和表达式(z=x+y)。

变量的名称可以很短(比如 x 和 y),也可以取更具描述性的名称(比如 carname、total_volume)。


PHP 变量规则:

变量以 $ 符号开头,其后是变量的名称
变量名称必须以字母或下划线开头
变量名称不能以数字开头
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

注释:PHP 变量名称对大小写敏感!


PHP 变量作用域

在 PHP 中,可以在脚本的任意位置对变量进行声明。

变量的作用域指的是变量能够被引用/使用的那部分脚本。

PHP 有三种不同的变量作用域:
local(局部)
global(全局)
static(静态)

4.echo和print语句区别

echo 是一个语言结构,有无括号均可使用:echo 或 echo()。


显示字符串

下面的例子展示如何用 echo 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):
<?php
echo "<h2>PHP is fun!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
echo "This", " string", " was", " made", " with multiple parameters.";
?>
PHP print 语句
显示字符串
<?php
print "<h2>PHP is fun!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
?>
显示变量
<?php
$txt1="Learn PHP";
$txt2="W3School.com.cn";
$cars=array("Volvo","BMW","SAAB");
print $txt1;
print "<br>";
print "Study PHP at $txt2";
print "My car is a {$cars[0]}";
?>
PHP 字符串
实例
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
?>
PHP 整数整数必须有至少一个数字(0-9)
整数不能包含逗号或空格
整数不能有小数点
整数正负均可
可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
实例
<?php
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>
PHP 逻辑
$x=true;
$y=false;
PHP 数组
实例

print 也是语言结构,有无括号均可使用:print 或 print()。

下面的例子展示如何用 print 命令来显示不同的字符串(同时请注意字符串中能包含 HTML 标记):

下面的例子展示如何用 print 命令来显示字符串和变量:

字符串是字符序列,比如 "Hello world!"。

字符串可以是引号内的任何文本。您可以使用单引号或双引号:

整数是没有小数的数字。

整数规则:

在下面的例子中,我们将测试不同的数字。PHP var_dump() 会返回变量的数据类型和值:

逻辑是 true 或 false。

逻辑常用于条件测试。您将在本教程稍后的章节学到更多有关条件测试的知识。

数组在一个变量中存储多个值。

在下面的例子中,我们将测试不同的数组。PHP var_dump() 会返回变量的数据类型和值:
<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>



PHP 对象

对象是存储数据和有关如何处理数据的信息的数据类型。

在 PHP 中,必须明确地声明对象。

首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。

然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:


实例

<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>


5.常量

常量是单个值的标识符(名称)。在脚本中无法改变该值。

有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。

注释:与变量不同,常量贯穿整个脚本是自动全局的。


设置 PHP 常量

如需设置常量,请使用 define() 函数 - 它使用三个参数:
首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写敏感。默认是 false。

下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
实例:
<?php
define("GREETING", "Welcome to 涨涨涨!");
echo GREETING;
?>

6.运算符


PHP 算数运算符

运算符名称例子结果
+加法$x + $y$x 与 $y 求和
-减法$x - $y$x 与 $y 的差数
*乘法$x * $y$x 与 $y 的乘积
/除法$x / $y$x 与 $y 的商数
%模数$x % $y$x 除 $y 的余数
下例展示了使用不同算数运算符的不同结果:
<?php
$x=10;
$y=6;
echo ($x + $y); // 输出 16
echo ($x - $y); // 输出 4
echo ($x * $y); // 输出 60
echo ($x / $y); // 输出 1.6666666666667
echo ($x % $y); // 输出 4
?>


PHP 赋值运算符

PHP 赋值运算符用于向变量写值。

PHP 中基础的赋值运算符是 "="。这意味着右侧赋值表达式会为左侧运算数设置值。
赋值等同于描述
x = yx = y右侧表达式为左侧运算数设置值。
x += yx = x + y
x -= yx = x - y
x *= yx = x * y
x /= yx = x / y
x %= yx = x % y模数
<?php
$x=10;
echo $x; // 输出 10

$y=20;
$y += 100;
echo $y; // 输出 120

$z=50;
$z -= 25;
echo $z; // 输出 25

$i=5;
$i *= 6;
echo $i; // 输出 30

$j=10;
$j /= 5;
echo $j; // 输出 2

$k=15;
$k %= 4;
echo $k; // 输出 3
?>


PHP 字符串运算符

运算符名称例子结果
.串接$txt1 = "Hello" $txt2 = $txt1 . " world!"现在 $txt2 包含 "Hello world!"
.=串接赋值$txt1 = "Hello" $txt1 .= " world!"现在 $txt1 包含 "Hello world!"
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出 Hello world!

$x="Hello";
$x .= " world!";
echo $x; // 输出 Hello world!
?>


PHP 递增/递减运算符

运算符名称描述
++$x前递增$x 加一递增,然后返回 $x
$x++后递增返回 $x,然后 $x 加一递增
--$x前递减$x 减一递减,然后返回 $x
$x--后递减返回 $x,然后 $x 减一递减
下例展示了使用不同递增/递减运算符的不同结果:
<?php
$x=10;
echo ++$x; // 输出 11

$y=10;
echo $y++; // 输出 10

$z=5;
echo --$z; // 输出 4

$i=5;
echo $i--; // 输出 5
?>



PHP 比较运算符

PHP 比较运算符用于比较两个值(数字或字符串):
运算符名称例子结果
==等于$x == $y如果 $x 等于 $y,则返回 true。
===全等(完全相同)$x === $y如果 $x 等于 $y,且它们类型相同,则返回 true。
!=不等于$x != $y如果 $x 不等于 $y,则返回 true。
<>不等于$x <> $y如果 $x 不等于 $y,则返回 true。
!==不全等(完全不同)$x !== $y如果 $x 不等于 $y,且它们类型不相同,则返回 true。
>大于$x > $y如果 $x 大于 $y,则返回 true。
<大于$x < $y如果 $x 小于 $y,则返回 true。
>=大于或等于$x >= $y如果 $x 大于或者等于 $y,则返回 true.
<=小于或等于$x <= $y如果 $x 小于或者等于 $y,则返回 true。
<?php
$x=100;
$y="100";

var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";

$a=50;
$b=90;

var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>



PHP 逻辑运算符

运算符名称例子结果
and$x and $y如果 $x 和 $y 都为 true,则返回 true。
or$x or $y如果 $x 和 $y 至少有一个为 true,则返回 true。
xor异或$x xor $y如果 $x 和 $y 有且仅有一个为 true,则返回 true。
&&$x && $y如果 $x 和 $y 都为 true,则返回 true。
||$x || $y如果 $x 和 $y 至少有一个为 true,则返回 true。
!!$x如果 $x 不为 true,则返回 true。


PHP 数组运算符

PHP 数组运算符用于比较数组:
运算符名称例子结果
+联合$x + $y$x 和 $y 的联合(但不覆盖重复的键)
==相等$x == $y如果 $x 和 $y 拥有相同的键/值对,则返回 true。
===全等$x === $y如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。
!=不相等$x != $y如果 $x 不等于 $y,则返回 true。
<>不相等$x <> $y如果 $x 不等于 $y,则返回 true。
!==不全等$x !== $y如果 $x 与 $y 完全不同,则返回 true。
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y; // $x 与 $y 的联合
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);
?>

7.语句

在你编写代码时,经常会希望为不同的决定执行不同的动作。你可以在代码中使用条件语句来实现这一点。

在 PHP 中,我们可以使用以下条件语句:
if 语句 - 如果指定条件为真,则执行代码
if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
if...elseif....else 语句 - 选择若干段代码块之一来执行
switch 语句 - 语句多个代码块之一来执行


PHP - if 语句

if 语句用于在指定条件为 true 时执行代码。


语法

if (条件) {
当条件为 true 时执行的代码;
}


PHP - if...else 语句

请使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行另一段代码。


语法

if (条件) {
条件为 true 时执行的代码;
} else {
条件为 false 时执行的代码;
}


下例将输出 "Have a good day!",如果当前时间 (HOUR) 小于 20,否则输出 "Have a good night!":


PHP - if...elseif....else 语句

请使用 if....elseif...else 语句来选择若干代码块之一来执行。


语法

if (条件) {
条件为 true 时执行的代码;
} elseif (condition) {
条件为 true 时执行的代码;
} else {
条件为 false 时执行的代码;
}


下例将输出 "Have a good morning!",如果当前时间 (HOUR) 小于 10,如果当前时间小于 20,则输出 "Have a good day!"。否则将输出 "Have a good night!":


Switch 语句

如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。

使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。


语法

switch (expression)
{
case label1:
code to be executed if expression = label1;
break;
case label2:
code to be executed if expression = label2;
break;
default:
code to be executed
if expression is different
from both label1 and label2;
}


工作原理:
对表达式(通常是变量)进行一次计算
把表达式的值与结构中 case 的值进行比较
如果存在匹配,则执行与 case 关联的代码
代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
如果没有 case 为真,则使用 default 语句
<?php
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>

</body>
</html>

8.重要的五体投地的for循环


PHP for 循环

如果您已经提前确定脚本运行的次数,可以使用 for 循环。


语法

for (init counter; test counter; increment counter) {
code to be executed;
}


参数:
init counter:初始化循环计数器的值
test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。
increment counter:增加循环计数器的值

下面的例子显示了从 0 到 10 的数字:
<?php
for ($x=0; $x<=10; $x++) {
echo "数字是:$x <br>";
}
?>

9.重中之重!!!函数

函数部分我想放在一个单一的文章中讲的  但是还是说了 吧  因为这个不好理解
php函数是以funcation来定义的  大家都知道函数就是特殊的方法,所以大家就这样理解就简单了
<?php
function writeMsg() {
echo "Hello world!";
}

writeMsg(); // 调用函数
?>


大家看上面的代码,第一  我用funcation自己定义了一个函数,就是writeMsg函数,函数里面我是输出了一句话,最熟悉的H w,
然后就是调用这个函数,我们在代码中定义函数了 但是他不会自己去执行,我们要去调用这个函数,很简单就是把函数名写上就行
writeMsg(); // 调用函数,很简单.
<pre name="code" class="php"><?php
function familyName($fname) {
echo "$fname Zhang.<br>";
}

familyName("Li");
familyName("Hong");
familyName("Tao");
familyName("Xiao Mei");
familyName("Jian");
?>



上面的代码就是传说中的需要传参数的函数,就是函数方法括号里面的那个$fname,很简单,就是字啊这里写上就行了,然后在下面调用的时候在方法里面传入一个对应的参数就行了,但是大家一定要加上""我刚工作的时候因为这个吃了好多亏,大家一定不要马虎.

当然也可以传入两个参数的,和上面的一样的,只是在第二个参数和第一个参数之间加一个,逗号就好了,传入的时候也是.

下面说一下返回值!
<?php
function sum($x,$y) {
$z=$x+$y;
return $z;
}

echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) . "<br>";
echo "2 + 4 = " . sum(2,4);
?>

上面这个代码中  有一个return大家看到了吧,后面根这一个上面定义的变量,返回值很简单,就是当你调用定义的函数后,如果有返回值,就在执行完之后返回的值,字面意思就能看懂了.

10.我学了好久的构造函数

我当年最密的就是这个构造函数了
我吧我自己写的一段代码拿过来给大家讲一下,
<?php
class BaseClass {
function __construct() {
print "In BaseClass constructor\n";
}
}

class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "In SubClass constructor\n";
}
}

class OtherSubClass extends BaseClass {

}

$obj = new BaseClass();
$obj = new SubClass();
$obj = new OtherSubClass();
?>
再上面的代码中处处的结果是
output:
In BaseClass constructor
In BaseClass constructor
In SubClass constructor
In BaseClass constructor
对于构造函数很简单,一个原理就是,创建的对象,对象里面传入的参数很自动传入到上面的构造函数参数中,如果没有传入参数,就会默认擦混入午餐的构造函数,这是原理,我来解析一下:
上面的代码中
我写的是默认的无参构造函数,这里面涉及到了继承的概念,就是
class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "In SubClass constructor\n";
}
}
SubClass继承了BaseClass类,那么即是说自雷会拥有夫类的所有类!所有方法 和函数
第一步就是首先下面第一个对象被创建,就是
$obj = new BaseClass();

那么就会执行BaseClass()然后第一次输出In BaseClass constructor

第二步就是第二个对象呗创建,执行第二个函数,但是它继承自BaseClass.所以首先执行夫类的方法,再次打印BaseClass.然后打印自己类的SubClass;

第三步就是第三个对象被创建,直接执行父类BaseClass,只是打印了BaseClass了 所以就是这样的了.

因为时间原因,今天就到这  关于php的其他内容后续会跟上,希望大家给个面子,点个赞什么的......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息