【一】php 基础知识
1 php标记,<?php php代码 ?>
2 注释:代码的解释和说明
- 多行注释 /**/
- 单行注释 //、#
- echo "hello".date("Y-m-d H:s:m");
- $a="hello";
- echo "hello.$world";
- ''单引号
- ""双引号
- EOF heredoc语法(ps:EOF可以替代为别的字符<<<EOF 字符串 EOF;)
- 可以是任意长度,由任意字母、数字、下划线组成
- 不能以数字开头
- 区分大小写
- 可以和函数名相同
- interger
- string
- float
- boolean
- array
- object
- null
- resource
- 关键字:define
- 变量名大写:define('NAME','test');
- 使用的时候不需要加$
- 一旦设定后不能在更改,是全局的
- 只能保存标量数据(字符串、整数、布尔值、浮点数)
- $_POST:通过post方法传递给该脚本的变量
- $_POST:通过get方法传递给该脚本的变量
- $_GLOBALS:全局变量数组
- $_COOKIE:cookie变量数组
- $_FILES:文件上传相关的变量数组
- $_ENV:环境变量数组
- $_REQUEST:所有用户输入的变量数组(包括$_POST\$_GET\$_COOKIE)
- $_SERVER:服务器环境变量数组
$a=5;
echo ++$a; //6
echo $a; //
$b=5;
echo $b++; //
echo $b; //
/*
运算过程:
第一种情况:首先将$a+1,在将结果赋值给变量(执行完再赋值)
第二种情况:首先将$a返回到屏幕上,在+1(先赋值在执行)
$i=1;
$a=($i++)+(++$i)+$i;
// i=1; $i=2
//1+2=3 $++(执行完后在赋值)=4
//4+3=7
echo $a; //7
echo $i; //3
*/
- 引用像一个别名 ,$aa和$bb指向同一个内存地址。通过unset来重置他们指向的地址
$aa=123;
$bb=&$aa;
$bb=455;
unset($bb); //unset $bb不会改变$aa=455的值,只是破坏了$a和455在内存中的链接
echo $aa;
- =:赋值操作符
- ==:只判断数据是否相等(0==‘0’为true,0===‘0’为false)
- ===:数据相等,类型相等才为true
- ||、or:或(其中一个为true则返回true)
- &&、and:与(两个都为true才返回true)
- !:非($a为false,则返回true)
- xor:异或(一个为true,返回true。两个为true或false,返回false)
- echo $name=='cmf'?'yes':'no'; 如果名字是cmf,则打印yes,否则no
echo @(0/0);
$out=`ls -la`; //针对当前脚本所在目录
echo '<pre>'.$out.'</pre>';
class sampleClass{};
$myObject=new sampleClass();
if ($myObject instanceof sampleClass){
echo 'myObject is an instance of sampleClass'; //输出
}
- is_array():数组
- is_double();is_float();is_real():浮点数
- is_long();is_int;is_interger():整数
- is_string():字符串
- is_bool():布尔值
- is_resource():资源
- is_null():null
- is_object():对象
- is_numeric():检查是否是任何类型的数字或者数字字符串
- empty:判断值是否为空
- isset:判断变量是否存在
$a=123; //empty:false; isset:true
$b=''; //empty:true; isset:true
$c=0; //empty:true; isset:true
$d=null; //empty:true isset:false
- intval
- floatval
- strval
- +(加)、-(减)、*(成)、/(除)
- %(取模,求余的意思)
<?php
$a=7/3;
echo $a; //2.3333333333333.因为float类型的最大精度为14位
//需求:判断2个数是否能整除
$a=55;
$b=3;
if($a%$b==0){
echo "ok";
}else{
echo "no"; //输出no
}
?> - ++、--(我们的++和--也分前后)
<?php
$a=88;
$a++; //等价于$a=$a+1
echo $a; //输出89
$b=55;
$b--; //等价于$b=$b-1
echo $b; //输出54
echo "<br/>";
//细节:也分前++和后++
$c=22;
$d=$c++; //先算后加,此时$d=22;$c=23
//$d=++$c; //先加后算,此时$c=23;$d=23
$f=++$d; //先加后算,此时$d=22+1=23;$f=23
echo $c."||".$d."||".$f; //输出结果为23 ||23||23
echo $f;
?> - 左加(+=)、左减(-=)、左乘(*=)、左除(/=)、左取模(%=)
<?php
$a=90;
$a-=60; //$a=$a-90
echo $a; //输出30
?>
24:比较运算符
- $a==$b:等于,true
- $a===$b:全等,true,类型也要一样
<?php
$a=2;
$b=2.0;
if($a===$b){
echo "ok";
}else{
echo "no"; //输出no,因为类型不一致 }
?> - $a!=$b:不等于
- $a!==$b:不全等
25:逻辑运算符
- and(逻辑与)必须都为true,优先级低
- or(逻辑或)任一为true,优先级低
- &&(逻辑与)必须都为true。同下例子
- ||(逻辑或)任一为true
$a=10;$b=7;
if($a++>8||$b++>7){ //逻辑或,前者为true后者不执行,所以$b=7
echo "ok";
}
echo $a.$b; //11和7 - !(逻辑非)取反
and和&&都表示逻辑与,他们的区别主要体现在优先级上
||大于=大于or
$e=false||true; //true
$f=false or true; //false
var_dump($e,$f);
&&大于=大于and
$a=true && false; //false
$b=true and false; //true
var_dump($a,$b);
26:三元运算符
基本语法:表达式1?表达式2:表达式3
规则:如果表达1的结果为true,则取表达2的结果,反之取表达式3的结果
$a=90;
$b=80;
$c=$a>$b?(12-5):900;
echo "c=".$c; //
27:字符串运算符
当两个变量(基本数据类型)用.连接时,就表示把他们的内容拼接起来
$a="hello";
$b=123;
$c=$a.$b; //表示内容拼接
echo $c; //输出hellocmf
28:类型运算符
instanceof用于确定一个php变量是否属于某一类class的实例
class dog{}
class cat{}
$cat1=new cat;
var_dump($cat1 instanceof cat) //输出true
29:运算符优先级
【一】php 基础知识的更多相关文章
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
- APP测试入门篇之APP基础知识(001)
前言 最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...
随机推荐
- How to diagnose vehicle fault code by BMW ICOM and ISTA-D software
Today illustrate how to diagnose vehicle fault code by BMW diagnostic tool BMW ICOM and ISTA-D softw ...
- 前端框架VUE----babel
这个是解析我们es6的代码的,为什么要用它呢,因为对于一些ie浏览器,甚至FF浏览器,低版本的还不能识别我们的es6代码,那么vue里面好多还让我们去写es6的代码,这个时候我们就可以用babel这个 ...
- 写出优质Java代码的4个技巧
我们平时的编程任务不外乎就是将相同的技术套件应用到不同的项目中去,对于大多数情况来说,这些技术都是可以满足目标的.然而,有的项目可能需要用到一些特别的技术,因此工程师们得深入研究,去寻找那些最简单但最 ...
- FFMPEG结构体分析:AVFrame(解码后的数据)
https://blog.csdn.net/jxcr1984/article/details/52766524 本文转自: http://blog.csdn.net/leixiaohua1020/ar ...
- USB概述
源: USB
- Python概念-上下文管理协议中的__enter__和__exit__
所谓上下文管理协议,就是咱们打开文件时常用的一种方法:with __enter__(self):当with开始运行的时候触发此方法的运行 __exit__(self, exc_type, exc_va ...
- enq: TM - contention一例
今天下午,有台服务器出现异常,响应特别慢,io等待奇高,awr top 5事件如下: 经回查ash,找到了造成这些事件的sql语句,如下: select * from v$active_session ...
- 13: openpyxl 读写 xlsx文件
1.1 openpyxl 基本使用 1.openpyxl 将xlsx读成json格式 #! /usr/bin/env python # -*- coding: utf-8 -*- # -*- codi ...
- BSGS算法学习笔记
从这里开始 离散对数和BSGS算法 扩展BSGS算法 离散对数和BSGS算法 设$x$是最小的非负整数使得$a^{x}\equiv b\ \ \ \pmod{m}$,则$x$是$b$以$a$为底的离散 ...
- day 26 元类
一.isinstance issubclass class Person: passclass Student(Person): passstu1=Student()#判断是不是实例print(isi ...