PHP教程

PHP学习I部分

本文主要是介绍PHP学习I部分,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

PHP的程序运行顺序

在这里插入图片描述

PHP基础语法

以<?php ...?>为结构框架
…处填写代码
用;结束语句
echo多次输出
print单词输出
注释// 多行注释 /* …*/

变量

1.以$开头
2.中间不能有空格
3.不能以数字开头
常用的命名法:hello_world、HelloWord、

实战

1.HTML与PHP文件的混编,可以在php文件下改代码,网页显示,但是如果在HTML的文件下改PHP代码,则网页不显示更改内容。
2.代码由上到下执行。
3.变量的命名要唯一,如果两条变量相同挨在一起,则下一条变量名会将上一条变量覆盖。

PHP标量类型

在这里插入图片描述
echo 输出数据的值
var_dump 打印数据的类型和值,测试时使用 。

1.布尔型

通常用于条件的判断

<?php 
    $x = true;
    var_dump($x);
    echo '<hr>';
    $y = flase;
    var_dump($y);
 ?>   

在这里插入图片描述

2.整型

  • 不能包含空格
  • 没有小数点
  • 可以为正也可以为负
  • 可以用三种格式来指定:十进制、十六进制、八进制。
<?php 
	$number = 0;
	var_dump($number);
	echo '<hr>'
	$number = 67;
	var_dump($number);
	echo '<hr>';
	$number = -322;
	var_dump($number);
?>

在这里插入图片描述

3.浮点型

<?php 
    $number = 10.03;
    var_dump($number);
    echo '<hr>';
    $number = 69.3223;
    var_dump($number);
    echo '<hr>';
    $number = -32.099;
    var_dump($number);
?>

在这里插入图片描述

4.字符串

  • 引号内的数据
  • 可以是单引号也可以时双引号
  • 字符串不用引号是会报错的
  • 所有的标量类型加引号都属于字符串

关于解决PHP中文输入乱码:
只需要在php文件头部加一个:

<?php
header('Content-Type: text/html; charset=utf-8');
?>

测试:

<?php 
    header('Content-Type: text/html; charset=utf-8');
    $str = '我是小明';
    var_dump($str);
    echo '<hr>';
    $str = 'my name is tom';
    var_dump($str);
?>

在这里插入图片描述
如果去掉引号的话,则会报错。
单引号与双引号的区别:
双引号里放变量会把变量的值输出。
单引号则会直接把$变量输出

<?php 
    header('Content-Type: text/html; charset=utf-8');
    $str = '我是小明';
    var_dump($str);
    echo '<hr>';
    $str = "$str my name is tom";
    var_dump($str);
     echo '<hr>';
    $str = '$str my name is tom';
    var_dump($str);
?>

在这里插入图片描述

php复合数据类型

在这里插入图片描述

<1>.数组类型

1.创建空数组:

<?php 
   $arr = array();
   var_dump($arr);
   $arrs = [];
   var_dump($arrs);

?>

数组都是由键和值组成的,默认情况下,键是从0开始的,但也可以自定义,定义之后,从定义的下一个的键值为0开始索引。类似于python中的dict.

<?php 
   $arr = array(
   'hello',
   'where' => 'where',
   'how are you'
   );
   echo $arr[0];
   echo '<hr>';
   echo $arr['where'];
?>

在这里插入图片描述
2.将数组中的所有数据输出。

<?php
 $arr = array(
   'hello',
   'where' => 'where',
   'how are you'
   );
print_r($arr);
?>

3.连接符

echo '我来自'.$arr['where'];

<2>多维数组

1.二维数组

<?php 
header('Content-Type: text/html; charset=utf-8');
   $arr = array(
        array(
            '西瓜'
        ),
       array(
            '桃子',
            '榴莲' 
        ),
        array(
            '葡萄',
            '苹果'
        )
   );
   echo $arr;
   echo '<hr>';
   print_r($arr); 
?>

在这里插入图片描述
2.三维数组
在这里插入图片描述
在这里插入图片描述
三维数组的索引:

echo '我的名字是:'.$arr[0]['name'].',我的学校是'.$arr[0]['school'];
echo '我会:'.$arr[0]['gongfu'][0].',还会'.$arr[0]['gongfu'][1];

<3>数组的循环

1.一维数组的循环

<?php 
header('Content-Type: text/html; charset=utf-8');
   $arr = array(
    'xiagua' => '西瓜',
    'taozi' => '桃子',
    'liulian' => '榴莲',
    'putao' => '葡萄',
    'pingguo' => '苹果'
   );
   print_r($arr);
   echo '<hr>';
   $num = 0;
   foreach ($arr as $k => $v) {
        echo $k.$v;
        echo '<hr>';
   }
?>

在这里插入图片描述

2.多维数组的循环
循环的原理:

<?php 
header('Content-Type: text/html; charset=utf-8');
   $arr = array(
        array(
            '西瓜',
            '山竹'
        ),
       array(
            '桃子',
            '榴莲' 
        ),
        array(
            '葡萄',
            '苹果'
        )
   );
  foreach ($arr as $k => $v) {
      echo $v[0].$v[1];
      echo '<hr>';
  }
?>

在这里插入图片描述

<?php 
header('Content-Type: text/html; charset=utf-8');
   $arr = array(
        array(
            '西瓜',
            '山竹'
        ),
       array(
            '桃子',
            '榴莲' 
        ),
        array(
            '葡萄',
            '苹果'
        )
   );
  foreach ($arr as $k => $v) {
      foreach ($v as $vv) {
          echo $vv;
          echo '<hr>';
      }
  }
?>

在这里插入图片描述
3.三维数组的循环

<?php 
header('Content-Type: text/html; charset=utf-8');
   $arr = array(
        array(
            '西瓜',
            '山竹',
            array(
                '好吃',
                '便宜'
            ),
        ),
       array(
            '桃子',
            '榴莲',
            array(
                '香气扑鼻',
                '迎面而来'    
            ), 
        ),
        array(
            '葡萄',
            '苹果',
            array(
                '好看',
                '美味'
            ),
        )
   );

?>

PHP实战01(数组循环)

1.直接将HTML代码放入到PHP代码块中。

	<ul class="nav-menu">
					<?php
						$menu = [
							'首页',
							'服务器',
							'PHP',
							'前端',
							'Thinkphp',
							'Layui',
							'小程序'
						];
					?>
					<?php 
						foreach ($menu as $menu_v) {
						echo '<li>';
						echo 	'<a href="/index.html">'.$menu_v.'</a>';
						echo '</li>';
						}
					?>

运行结果。
在这里插入图片描述
2.将PHP代码于HTML代码穿插的进行。注意PHP代码的穿插,每一次都需要用<?php ,.,.. ?>包裹。

<?php
						$menu = [
							'首页',
							'服务器',
							'PHP',
							'前端',
							'Thinkphp',
							'Layui',
							'小程序'
						];
					?>
					<?php 
						foreach ($menu as $menu_v) {
					?>
						<li>
						 	<a href="/index.html"><?php echo $menu_v; ?></a>
						</li>
					<?php 
						}
					?>

在这里插入图片描述

PHP的条件判断

三元运算符

	$name = '小明';
    echo '<hr>';
    echo $name ?'我的名字是小蜜蜂':'我也不知道我是谁啊!!!';
  

if
else
elseif

 $name = '小明';

  if($name){
    echo $name;
  }elseif($name){
    echo 'your are a pig !';
  }
  else{
    echo 'i don\'t konw who i am !';
  }

switch case defult
break

  $number='1123121';
    switch($number){
        case '1123':
            echo 'input 1123';
            break;
        case '2':
            echo 'input 2';
            break;
        case '3':
            echo 'input 3';
            break;
        default:
            echo $number;
    };

match

$str = 'age';
   echo match ($str) {
    'name' => 'xioam',
    'age' => '12',
    default => 'imasas',
   };

match 与switch的区别
1.match是一个表达式,表示的结果可以放在存储的变量中,或者返回。
2.match的分支仅支持单行表达式,不用终端。

$str = 'age';
   echo match ($str) {
    'name' => 'xioam', echo '1212';
    'age' => '12',
    default => 'imasas',
   };

3.match进行严格的匹配比较。

PHP特殊数据类型

在这里插入图片描述

1.NULL

表示变量没有值

2.资源类型

PHP中的函数

1.String函数

在这里插入图片描述

2.数组函数

在这里插入图片描述
官网手册:php数组相关函数官网手册

3.自定义函数

都在代码里了:
和C语言的函数类似。
$nm3 = 10 默认传参。

<?php 
    $num2 = 90;
    function num($num1,$num2,$num3=10){
        return $num1+$num2+$num3;
    }

    echo num(10,12);


?>

也可以在自定义函数中引用全局变量。

<?php 
    $num2 = 90;
    function num($num1,$num3=10){
        global $num2;
        return $num1+$num2+$num3;
    }

    echo num(10);


?>

命名参数:

  • 仅仅指定必传参数。跳过可选参数。
  • 参数与顺序无关,且具有自己记录的功能。
    在这里插入图片描述
    运行结果:c d 的位置不影响最后的结果
    在这里插入图片描述

PHP的运算符

在这里插入图片描述
在这里插入图片描述
输出结果:
在这里插入图片描述
第一次执行$num++,先执行那个num的值,后num的值加1,第二次输出才为$num+1.($num–也一样)
++$num 是先加u一再直接输出。(–$sum也一样)
连接符:
一个变量与整型连接必须在整型前面加空格。
在这里插入图片描述
在这里插入图片描述
比较运算符:
在这里插入图片描述
===类似于C语言中的==,不但比较数值还比较数值的类型。
字符串与数字的比较:
PHP8中: 0 == ‘hello’ //false
与数字字符串比较时,PHP8使用数字比较,否则将数字转化为数字字符串进行比较。
逻辑运算符:
在这里插入图片描述
优先级和C语言相似

PHP实战02(函数)

examp1:
下图的代码表示:判断标题是是否存在,用到了if语句和函数isset(),存在则输出标题。
在这里插入图片描述
example2:
下图的代码表示:如果图片的不为空的话,即有图片的话就输出图片。empty() 函数是判断()的是否为空,为空返回真,前面再加一个!表示取反,即表示有图片。这个条件下输图片。
在这里插入图片描述
下图是修改前的原始代码,进行比较。
在这里插入图片描述
examp3:
在这里插入图片描述
在这里插入图片描述
isset()函数会把0看成真,即上述的代码的输出结果为:这是isset输出。

PHP循环

1.while

<?php 
    $int = 1;
    while($int<10){
        $int++;
        echo $int;
    }
?>A

2.do while

<?php 
    $int = 1;
    do{
        $int++;
        echo $int;
        echo '<hr>';
    }while($int < 10)
?>

3.for

<?php 
    $int = 1;
    for($int;$int<10;$int++){
        echo $int;
        echo '<hr>';
    }
?>

4.continue
结束当前循环,进入下次循环。
5和6一起输出。

<?php 
    $int = 1;
    for($int;$int<10;$int++){
        echo $int;
        if($int==5){
            continue;
        }
        echo '<hr>';
    }
?>

5.break
结束循环,可以跳出多层循环。

PHP8的JIT特性

这篇关于PHP学习I部分的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!