PHP初识

什么是 PHP?

  • PHP 是 “PHP Hypertext Preprocessor” 的首字母缩略词
  • PHP 是一种被广泛使用的开源脚本语言
  • PHP 脚本在服务器上执行
  • PHP 没有成本,可供免费下载和使用

    其他的概念就不闲扯淡了…


安装配置

http://php.net/manual/zh/install.php 官网的安装说明


语法

<!DOCTYPE html>
<html>
<body>

<h1>我的第一张 PHP 页面</h1>

// 这是单行注释
# 这也是单行注释
/* 多行注释 */

<?php
// 此处是 PHP 代码
// 以分号结尾(;)
echo "Hello World!";
// 关键字大小写不敏感,但是变量还是敏感的
ECHO "Hello World!<br>";

$txt="Hello world!";
$x=5;
$y=10.5;
$z=$x+$y;
echo $z;

?>

</body>
</html>

PHP 变量规则:

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

PHP 根据它的值,自动把变量转换为正确的数据类型。
在诸如 C 和 C++ 以及 Java 之类的语言中,程序员必须在使用变量之前声明它的名称和类型。


PHP 变量作用域

  • local(局部)
  • global(全局)
  • static(静态) 这个关键字的用途很多语言都通用

Local 和 Global 作用域
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。

<?php
$x=5; // 全局作用域

function myTest() {
  $y=10; // 局部作用域
  echo "<p>测试函数内部的变量:</p>";
  echo "变量 x 是:$x";
  echo "<br>";
  echo "变量 y 是:$y";
} 

myTest();

echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
?>

PHP global 关键词

global 关键词用于访问函数内的全局变量。

<?php
$x=5;
$y=10;

function myTest() {
  global $x,$y;
  $y=$x+$y;
}

myTest();
echo $y; // 输出 15
?>

上面的例子可以这样重写:为什么呢?PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。

<?php
$x=5;
$y=10;

function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 

myTest();
echo $y; // 输出 15
?>

PHP echo 和 print 语句

echo 和 print 之间的差异:

  • echo - 能够输出一个以上的字符串
  • print - 只能输出一个字符串,并始终返回 1

PHP 数据类型

字符串(“String”)、整数、浮点数、逻辑(true/false)、数组(array(***))、对象(class 关键词)、NULL(变量无值)。


PHP 字符串函数

  • trlen() 函数返回字符串的长度
  • strpos() 函数用于检索字符串内指定的字符或文本
  • PHP String 参考手册

PHP 常量

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

<?php
define("GREETING", "Welcome to http://blog.youkuaiyun.com/w627947015!");
echo GREETING;
?>

PHP 运算符

  • PHP 算数运算符
<?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 
$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 字符串运算符
    .串接
    .=串接赋值
<?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=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 数组运算符
运算符名称例子结果
+联合$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);
?>

PHP if…else…elseif 语句 / Switch 语句

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

switch (expression)
{
case label1:
  ...;
  break;  
default:
 ...
}

PHP while 循环 / for 循环

while (条件为真) {
  要执行的代码;
}

do {
  要执行的代码;
} while (条件为真);

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

foreach ($array as $value) {
  code to be executed;
}

PHP 函数

function functionName() {
  被执行的代码;
}
  • 函数参数
<?php
function familyName($fname) {
  echo "$fname Zhang.<br>";
}

familyName("YIYE");
?>
  • PHP 默认参数值
<?php
function setHeight($minheight=50) {
  echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // 将使用默认值 50
?>
  • PHP 函数 - 返回值
<?php
function sum($x,$y) {
  $z=$x+$y;
  return $z;
}

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

PHP 数组

<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

在 PHP 中,有三种数组类型:

  1. 索引数组 - 带有数字索引的数组

    • 索引是自动分配的(索引从 0 开始)
    • 获得数组的长度 - count() 函数
    • 遍历索引数组
    <?php
    $cars=array("Volvo","BMW","SAAB");
    $arrlength=count($cars);
    
    for($x=0;$x<$arrlength;$x++) {
      echo $cars[$x];
      echo "<br>";
    }
    ?>
  2. 关联数组 - 带有指定键的数组

    有两种创建关联数组的方法:
    $age=array(“Peter”=>”35”,”Ben”=>”37”,”Joe”=>”43”);
    或者:
    $age[‘Peter’]=”35”;
    $age[‘Ben’]=”37”;
    $age[‘Joe’]=”43”;

    使用:

    <?php
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    echo "Peter is " . $age['Peter'] . " years old.";
    ?>

    遍历关联数组

    <?php
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    
    foreach($age as $x=>$x_value) {
      echo "Key=" . $x . ", Value=" . $x_value;
      echo "<br>";
    }
    ?>
  3. 多维数组 - 包含一个或多个数组的数组
    稍微复杂了点,相对也用的较少
    PHP 数组参考手册


PHP 数组排序

PHP - 数组的排序函数
在本节中,我们将学习如下 PHP 数组排序函数:
sort() - 以升序对数组排序

<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);
?>

rsort() - 以降序对数组排序

<?php
$cars=array("Volvo","BMW","SAAB");
rsort($cars);
?>

asort() - 根据值,以升序对关联数组进行排序

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age);
?>

ksort() - 根据键,以升序对关联数组进行排序

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age);
?>

arsort() - 根据值,以降序对关联数组进行排序

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
arsort($age);
?>

krsort() - 根据键,以降序对关联数组进行排序

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
krsort($age);
?>

PHP 全局变量 - 超全局变量

超全局变量 在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。
PHP 全局变量 - 超全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
\$GLOBALS
\$_SERVER
\$_REQUEST
\$_POST
\$_GET
\$_FILES
\$_ENV
\$_COOKIE
\$_SESSION

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值