PHP基础

定义

PHP 全称 Hypertext Preprocessor 超文本预处理器
PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
PHP 文件的默认文件扩展名是 “.php”

<?php
  // php代码片段
?>
php注释
<?php
// 这是单行注释
# 这也是单行注释
/*
这是多行注释
多行注释
多行注释
*/
php变量
  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _)
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
  • 全局变量无法直接被函数访问,需要声明global关键字
  • 局部变量无法在函数外被访问
<?php
$x=5;
$y=10;
 
function myTest()
{
    global $x,$y;
    $y=$x+$y;
}
 
myTest();
echo $y; // 输出 15
?>
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
<?php
$x=5;
$y=10;
 
function myTest()
{
    $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
 
myTest();
echo $y; // 15
?>
static关键字
函数内的局部变量在函数调用结束后会被销毁,如果需要持续使用该局部变量,则需要声明static关键字。
<?php
function myTest()
{
    static $x=0;
    echo $x;
    $x++;
    echo PHP_EOL;    // 换行符
}
 
myTest(); // 0
myTest(); // 1
myTest(); // 2
?>
echo & print
  1. echo - 可以输出一个或多个字符串
  2. print - 只允许输出一个字符串,返回值总为 1

echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
在echo命令和print命令中使用数组

<?php
$cars=array("Volvo","BMW","Toyota");
print "<br>";
print "我车的品牌是 {$cars[0]}";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>

// 两者都可以使用html标签

php定界符

EOF 是在命令行或者程序语言中定义字符串二点方法。

  1. 必须后接分号,否则编译通不过。
  2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符
<?php
echo <<<EOF
        <h1>我的第一个标题</h1>
        <p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格
?>
php 数据类型

String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组),
Object(对象), NULL(空值)

PHP var_dump() 函数返回变量的数据类型和值
声明数组
<?php 
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>
php类型比较
<?php
echo '0 == false: ';
var_dump(0 == false);  // bool(true)
echo '0 === false: ';
var_dump(0 === false); // bool(false)
echo PHP_EOL;
echo '0 == null: ';
var_dump(0 == null); // bool(true)
echo '0 === null: ';
var_dump(0 === null); // bool(false)
echo PHP_EOL;
echo 'false == null: ';
var_dump(false == null);  // bool(true)
echo 'false === null: ';
var_dump(false === null);  // bool(false)
echo PHP_EOL;
echo '"0" == false: ';
var_dump("0" == false);  // bool(true)
echo '"0" === false: ';
var_dump("0" === false); // bool(false)
echo PHP_EOL;
echo '"0" == null: ';
var_dump("0" == null); // bool(false)
echo '"0" === null: ';
var_dump("0" === null); // bool(false)
echo PHP_EOL;
echo '"" == false: ';
var_dump("" == false); // bool(true)
echo '"" === false: ';
var_dump("" === false); // bool(false)
echo PHP_EOL;
echo '"" == null: ';
var_dump("" == null); // bool(true)
echo '"" === null: ';
var_dump("" === null); // bool(false)
多种类型比较

在这里插入图片描述

php常量 设置常量,使用 define() 函数

常量是一个简单值的标识符。该值在脚本中不能改变。

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
注意: 常量在整个脚本中都可以使用。

语法:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
name:必选参数,常量名称,即标志符。
value:必选参数,常量的值。
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

<?php
// 不区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com", true);
echo greeting;  // 输出 "欢迎访问 Runoob.com"
?>

php字符串变量

<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>

并置运算符 .

strlen() 函数 返回字符串的长度

strpos()函数用于在字符串中查找一个字符或者一段指定的文本,找到则返回第一个匹配字符的位置,未找到就返回
false。字符串中第一个字符的位置是0不是1.

三元运算符

u s e r n a m e = i s s e t ( username = isset( username=isset(_GET[‘user’]) ? $_GET[‘user’] : ‘nobody’;

??运算符类似于三元运算符

// 如果 $_GET[‘user’] 不存在返回 ‘nobody’,否则返回 $_GET[‘user’] 的值 $username =
$_GET[‘user’] ?? ‘nobody’;

<=>组合比较符(combined comparison operator)也称之为太空船操作符。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。

$c = $a <=> $b;

如果 $a > $b, 则 $c 的值为 1。 如果 $a == $b, 则 $c 的值为 0。 如果 $a < $b, 则 $c 的值为
-1。

<?php
// 整型
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
 
// 浮点型
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
 
// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

php数组

  • 数值数组: 带有数字 ID 键的数组
  • 关联数组: 带有指定的键的数组,每个键关联一个值
  • 多维数组: 包含一个或多个数组的数组
    count()函数返回数组长度
    关联数组
    两种创建方法
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
php数组排序
  1. sort() 升序
  2. rsort() 降序
  3. asort() 根据关联数组的值,对数组进行升序
  4. ksort() 根据关联数组的键,对数组进行升序
  5. arsort() 根据关联数组的值,对数组进行降序
  6. krsrot() 根据关联数组的键,对数组进行降序

foreach循环数组

foreach ($array as $value)
{
    要执行代码;
}

php魔术常量

_LINE_ :文件中的当前行号
_FILE_ :文件的完整路径和文件名
_DIR_ : 文件所在目录
_FUNCTION_ : 函数名称
_CLASS_ :类名
_TRAIT_ : trait的名字
_METHOD_ : 类的方法名
_NAMESPACE_ : 命名空间

trait 是代码复用的一个方法

<?php
class Base {
    public function sayHello() {
        echo 'Hello ';
    }
}
 
trait SayWorld {
    public function sayHello() {
        parent::sayHello();
        echo 'World!';
    }
}
 
class MyHelloWorld extends Base {
    use SayWorld;
}
 
$o = new MyHelloWorld();
$o->sayHello();
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值