一、变量

字母 char , string 类型

数字 int,float类型

数组:

需要注意的是

1.变量名 区分大小写

2.数字不能当变量名开头


echo "var_dump就相当于 Python 中的  type() 想要更详细的数据类型可以使用 var_dump( ) 嵌套  gettype(var) ";

echo "<br/>" ;echo "<br/>" ;echo "<br/>" ;

var_dump(gettype($a));


$c = array(1,2,"www.baidu.com",2.333);

echo "<br/>" ;echo "<br/>" ;echo "<br/>" ;

#  echo $c ;  注意:PHP不可以用 echo 输出数组

print_r($c);

echo "————————————————————————————————————————" ;
// echo "<br/>" ;echo "<br/>" ;echo "<br/>" ;
echo "<pre>"; var_dump($c) ;

echo "<pre>";  的作用就是 打印数组输出 保持原格式


echo "————————————————————————————————————————————————————————————————";
echo "<br/>" ;
echo "数组的输出有两种方法 1. var_dump() 2. print_r() ";
echo "<pre>"; print_r($c); echo "<pre>"; var_dump($c);

可以看出,var_dump 比 print_r 更加强大

二、运算符

加  减  乘  除  取余

++   - -

比较运算符

>  <  >=  <=  !=

这里需要注意的是  ===

===  是比较数据的值和类型

==  只是比较数据的 值 ,不会比较数据的类型 

逻辑运算符

与&&     或 ||     非!

PHP字符串运算符 就是   . 

三、三大控制结构

if(){

}else{

}

while(){

}

for(i=0;i<10;i++){

}

do{

}while( )

do-while和while的区别就是 while 先执行在 判断  do-while是先判断在执行

break     continue

四、字符串双引号和单引号的区别

<?php
header("Content-type: text/html; charset=utf-8"); #设置编码格式 ,不设置会出错 !! $a = "baidu.com"; $b = 'www.$a'; #双引号会对字符串里面的变量进行解释说明,,,而单引号不会,单引号只会显示不会解释(不仅对变量是,对格式符比如 \n \t 也是这样)
$c = "www.$a"; echo "a为::: $a"; echo "<br/>$b";
echo "<br/>$c"; ?>

字符串常用函数 (格式见财年教程)
1.strlen() 查看字符串的长度
2.strpos() 查找字符串首次出现的位置
3.str_replace() 字符串替换
4.左截取 右截取
5.strchr() 截取函数 (取文件后缀名的时候可能会用到!)
6.split() 正则分割
7.explode() 用一个字符串分割成一个数组
$website = "www.baidu.com";
$arrstr = explode(".", $website);
echo "<pre>";
print_r($arrstr);
8.与explode() 相反的是 implode ()
implode() 的作用是 将一个数组的值连成一个字符串
9.trim() 消除输入的空格;(trim是可以带参数的,如果带参数,可以消除 \n \r 这些制表符)
10.addslashes() 防SQL注入的函数,自动过滤,将单引号 转变为 '\
11.htmlspecialchars() 防xss的函数 ,将尖括号转换

 

 五、数组

<?php

header("Content-type: text/html; charset=utf-8");   #设置编码格式 ,不设置会出错 !!

$arr = array(4,9,3,"www.badicu",'false');

echo "<pre>";

print_r($arr);

echo "<pre>";

var_dump($arr);
// 除此之外,还可以单独定义 键:值 对 $arr1 = array(
"aa" => "first",
"bb" => 10 ,
"xx" => "北京"
);
var_dump($arr1); // 数组的遍历
// 1.直接 for循环也行
// 2.foreach循环 foreach ($arr1 as $key => $value) {
echo $key."—————".$value.'<br/>';
} ?>

数组的增删改查

$arr = array("a","2333","www.baidu","3.14");

//数组的增加

$arr[]="ff";
echo "<pre>";
print_r($arr);
echo "<hr>"; //数组的删除 unset($arr[1]);
echo "<pre>";
print_r($arr);
echo "<hr>"; //数组的更改
$arr[1] = "changed!";
echo "<pre>";
print_r($arr);

1.array_key_exist() 用于检测给定的 键名 或索引 是否存在于 数组中
2.in_array() 与上面的相反,是判断value值是否在数组里面
3.array_keys() 用于返回数组的所有的 key 值

六、函数和超全局变量

①无参函数

②有参函数

七、超全局变量

echo "<pre>";
var_dump($GLOBALS);

<?php
header("Content-type: text/html; charset=utf-8"); #设置编码格式 ,不设置会出错 !! function getAdd($a,$b){
return $a + $b ;
} if (empty($_GET)) {
echo "没有传值!!!";
}else{
$x = $_GET["a"];
$y = $_GET["b"]; $c = getAdd($x,$y);
echo $c ;
} ?>

PHP基础再练习的更多相关文章

  1. JAVA基础再回首(二十五)——Lock锁的使用、死锁问题、多线程生产者和消费者、线程池、匿名内部类使用多线程、定时器、面试题

    JAVA基础再回首(二十五)--Lock锁的使用.死锁问题.多线程生产者和消费者.线程池.匿名内部类使用多线程.定时器.面试题 版权声明:转载必须注明本文转自程序猿杜鹏程的博客:http://blog ...

  2. Vue.js-09:第九章 - 组件基础再探(data、props)

    一.前言 在上一章的学习中,我们学习了 Vue 中组件的基础知识,知道了什么是组件,以及如何创建一个全局/局部组件.不知道你是否记得,在上一章中,我们提到组件是一个可以复用的 Vue 实例,它与 Vu ...

  3. (转载)ACM训练计划,先过一遍基础再按此拼搏吧!!!!

    ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO ht ...

  4. 网络基础-再议TCP

    以前只是知道3次握手和4次挥手,但是对于其在连接和断开时的各个状态却不是很懂,今天就来看一下握手和挥手时的状态转换图: 1.三次握手和四次挥手时的状态转换图: 实线表示应用程序: 应用层首先发SYN的 ...

  5. python基础----再看property、描述符(__get__,__set__,__delete__)

    一.再看property                                                                          一个静态属性property ...

  6. C#基础再学习

    本次观看C#中级教程视频进行对C#一些基础的再度学习,加深印象. 1.对于错误和异常. 错误可能是语法错误也可能是逻辑错误.可以通过断点进行调试. 断点快捷键F9. 异常,通过try catch捕获, ...

  7. JAVA基础再回首

    http://blog.csdn.net/m366917/article/details/51559031

  8. Git 基础再学习之:git checkout -- file

    首先明白一下基本概念和用法,这段话是从前在看廖雪峰的git教程的时候摘到OneNote的 准备工作: 新建了一个learngit文件夹,在bash中cd进入文件夹,用以下命令创建一个仓库. $ git ...

  9. Java基础再复习(继承、多态、方法内部类**、HashMap用法**、参数传递**)

    ###继承: package com.shiyan; public class Animal { public int legNum; //动物四肢的数量 //类方法 public void bark ...

随机推荐

  1. 【C++】数组中的第k个最小元素

    分治思想求解的问题,但是比较特殊,只有分解问题和求解小问题,不需要合并 每次也只需要经过判断,分解一半,所以比其他分解两边的效率高 最坏情况时间复杂度为O(n^2),期望时间复杂度为O(n) 找基准值 ...

  2. Running Median POJ - 3784

    本题使用对顶堆做法. 为了动态维护中位数,我们可以建立两个堆 :一个大根对,一个小根堆. 用法:在动态维护的过程中,设当前的长度为length,大根堆存从小到大排名 $1 \thicksim \dfr ...

  3. mycat分片及主从(二)

    一.mycat分片规则 经过上一篇幅讲解,应该很清楚分片规则配置文件rule.xml位于$MYCAT_HOME/conf目录,它定义了所有拆分表的规则.在使用过程中可以灵活使用不同的分片算法,或者对同 ...

  4. Matlab 补充知识

    1:disp函数和fprintf函数类似 disp(a) 自动输出a变量的值 disp('dadad') 输出一个字符串 Disp(['a','b','ccc']) 三个字符串连在一起 2:matla ...

  5. js中定时器调用函数时为什么会有引号

    之前在学习的时候并没有发现的细节,关于js中,定时器的问题 这里我们写两个延时器 setTimeout(func, 0); setTimeout("func()", 0);定时器中 ...

  6. 题解 洛谷 P3396 【哈希冲突】(根号分治)

    根号分治 前言 本题是一道讲解根号分治思想的论文题(然鹅我并没有找到论文),正 如论文中所说,根号算法--不仅是分块,根号分治利用的思想和分块像 似却又不同,某一篇洛谷日报中说过,分块算法实质上是一种 ...

  7. NOIP 2020 退役记

    躲进你的身体. 哈哈 没想到这么快就轮到我退役啦 以前想想还感觉挺遥远的 这是我最后的机会啦! day-1 晚上照例吃了断头饭 但是没有蛋糕/kk 恭喜 Luckyblock 逃过一劫! (照照片的时 ...

  8. Spring Boot 中使用 Spring Security, OAuth2 跨域问题 (自己挖的坑)

    使用 Spring Boot 开发 API 使用 Spring Security + OAuth2 + JWT 鉴权,已经在 Controller 配置允许跨域: @RestController @C ...

  9. day3(使用axios实现登录成功)

    1.创建一个login.vue页面 1.1写页面components/Login.vue 在 src/components 下创建 Login.vue 页面 <template>   &l ...

  10. Python中的enumerate函数的作用

    enumerate函数是将一个可迭代对象中元素,按元素顺序每个增加一个索引值,将其组成一个索引序列,利用它可以同时获得索引和值,这样做的目的是为了将一个可迭代对象中元素组成一个"索引,值&q ...