一、变量

字母 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. 接入twitter第三方登陆接口遇到的一个问题

    本地开了 Shadowsocks,然后postman模拟的twitter的接口是请求成功的,然后用php-curl去请求网址,出现以下错误 Failed to connect to api.twitt ...

  2. 对于this和当前线程的一些理解

    在学习这个InheritableThreadLocal类的时候,我对于有个地方一直没有理解,我发现了盲点. 1 private void init(ThreadGroup g, Runnable ta ...

  3. 精尽MyBatis源码分析 - 文章导读

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  4. Kafka入门之consumer--rebalance流程

    重平衡(rebalance) 旧版本Kafka依托于Zk进行rebalance,新版本consumer使用了Kafka内置的一个全新的组协调协议.对于每个组而言,Kafka的某个broker会被选举为 ...

  5. @Async失效之谜

    @Async如何使用 异步的方法上加上@Async异步注解 启动类中需要加上@EnableAsync才有效 使用时类似于下列函数: new Thread(()-> System.out.prin ...

  6. Java多线程中的wait/notify通信模式

    前言 最近在看一些JUC下的源码,更加意识到想要学好Java多线程,基础是关键,比如想要学好ReentranLock源码,就得掌握好AQS源码,而AQS源码中又有很多Java多线程经典的一些应用:再比 ...

  7. 分布式系统唯一ID

    一 什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识. 如在金融.电商.支付.等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息, ...

  8. 第8.20节 Python中限制动态定义实例属性的白名单:__slots__

    一. 引言 按照<第7.10节 Python类中的实例变量定义与使用>.<第7.14节Python类中的实例方法解析>中的介绍,当定义了一个类,并且创建了该类的实例后,可以给该 ...

  9. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件操作控制类属性movable和tabsClosable介绍

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTabWidget的操作控制类属性包括movable.tabsClosable这两个. 1. mo ...

  10. Mac下安装Mesa

    下载Mesa源代码: git clone https://gitlab.freedesktop.org/mesa/mesa.git 如果下载太慢,请参看 下载国外资源. 我下载后看到的Mesa版本信息 ...