php 环境

xamp wamp phpstudy等集成软件网上很多

PHP基础语法

PHP语法是以<?php开始
?>结束的//php 文件的默认扩展名是.php

例如(用PHP输出helloworld):

<!DOCTYPE html>
<html>
<body>
<?php
echo "hello world";
//PHP中的注释可以是 //
/* 也可以是(这个是多行注释)*/ /**/
?>
</body>
</html>

PHP变量

  • [x] 变量必须以$字符开始后面跟变量名称
  • [x] 变量名只能是大小写字母下划线和数字
  • [x] 数字不能作为变量的开始
  • [x] 变量名区分大小写且不能有空格
<?php
$test="变量第一次赋值的时候被创建";
$x=1;
$y=23.4;
?>
  • PHP变量不必声明数据类型(弱类型语言)
  • PHP会根据变量内容的值自动转换数据类型

PHP变量作用域

$ php 有四种不同的变量作用域

  • local
  • global
  • static
  • parameter
<?php
$x=3;
function test(){
$y=2;
echo "x:",$x,"<br>y:",$y;
//此时x没有值需要使用关键字声明
}
test();
echo "x:",$x,"<br>y:",$y;
// y属于局部变量所以y此时没有值
?>
  • [x] global关键字
<?php
$x=5;
$y=19;
function test(){
global $x,$y;
$y=$x+$y;
}
test();
echo $y;
?>
  • [x] global数组
<?php
$x=5;
$y=19;
function test(){
$GLOBAL['y']=$GLOBAL['x']+$GLOBAL['y'];
}
test();
echo $y;
?>
  • [x] static作用域
<?php
function test(){
static $x;
echo $x;
$x++;
echo "<br>";
}
test();
test();
test();
/*static 函数执行完毕函数内部的static变量不被释放留由下次执行函数使用*/
?>

echo 和 print 语句

  • echo 可以输出多个字符串(括号可加可不加)
  • print 只可以输出一个字符串,并且有返回值,返回值为1
<?php
$x=3;
$y=23;
echo "x=",$x,",y=",$y;
//当然可以这么输出
echo "x= $x ,y= $y";
?>
<?php
$a=3;
$b=23;
print "<br>";
print "a=$a,b=$b";
?>

PHP EOF

  • 必须后接分号
  • EOF可以用其它字符代替但是开始结尾必须一样
  • 结束标志必须独占一行
  • 变量可以正常解析,函数不可以
<?php
$name=nk1999;
echo <<<EOF
我的名字:$name<br>
<h1>test</h1>
EOF;
//EOF结束必须独立一行且前后不能空格
?>

PHP数据类型

  • String 字符串
  • integer 整型
  • float 浮点型
  • boolean 布尔型
  • array 数组
  • object 对象
  • NULL 空值

PHP类型比较

  • == 只比较值不比较类型
  • === 严格比较比较值和类型

PHP常量

  • 常量是个标识符在该脚本中值不能改变

  • 常量不需要加$修饰符

    <?php
    define("name","nk1999");
    echo name;
    define("myname","nk1999",true);//不区分大小写
    echo MYNAME;
    ?>
  • 常量是全局的定义以后可以在整个脚本任意地方使用

字符串变量以及函数

  • strlen() 返回字符串的长度
<?php
echo strlen("hello world!");//返回字符串长度
?>
  • strpos() 查找字符串或者指定文本位置
<?php
$txt="hello worldhello worldhello world";
echo strpos($txt,"world");
?>

PHP运算符

  • /
  • % 取余
  • -x 取反
  • . 并置 连接两个字符串
  • = 赋值运算
  • ++x x++ 自增
  • --x x-- 自减
  • == 等于不比较类型
  • === 绝对等于,比较类型
  • != 不等于
  • <> 不等于
  • !== 绝对不等于 包括类型
  • <> 小于大于
  • <=>= 小于等于大于等于
  • and 与
  • or 或
  • xor 异或
  • && 与
  • || 或
  • ! 非

数组运算

  • x+y x和y的集合
  • == 相等
  • === 恒等顺序也要对
  • != 不相等
  • <> 不相等
  • !== 不恒等

三元运算符 ?:

PHP if ...else语句

if语句

<?php
/*
if(条件){
如果条件为真执行此语句块,否则不执行;
}
*/
$a=3;
if($a==3){
echo $a;
}
?>

if...else语句

<?php
/*
if(条件){
如果条件为真执行此语句块;
}else{
如果条件不为真执行此语句块;
}
*/
$a=3;
if($a==3){
echo $a;
}else{
echo "a不为3";
}
?>

if...elseif...else

<?php
/*
if(条件){
条件成立执行代码
}elseif(条件){
条件成立执行代码
}else{
条件不成立执行代码
}
*/
$a=3;
if($a==3){
echo a=3;
}elseif($a==2){
echo "a=2";
}else{
echo "a不是2也不是3";
}
?>

PHP switch语句

如果有选择执行若干代码之一使用switch

<?php
$a=2;
switch($a){
case 1:echo "a=1";break;//break用于跳出否则会继续往下输出
case 2:echo "a=2";break;
case 3:echo "a=3";break;
default:echo "a不是123";//最后一句不用跳出
}
?>

PHP笔记01的更多相关文章

  1. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  2. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!

    <30天自制操作系统>笔记(01)——hello bitzhuwei's OS! 最初的OS代码 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以 ...

  3. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  4. PHP 学习笔记 01

    例子: 为什么要学PHP 主观原因: 前段时间在学校处理了毕业的一些事情,回到上海后开始了找工作的旅程.意向工作是WPF开发或者ASP.NET 作为后端的WEB开发. 陆陆续续一直在面试,其中有一家公 ...

  5. 【技能大赛笔记01】Zigbee点对点按键控制程序开发

    [技能大赛笔记01]Zigbee点对点按键控制程序开发 --2017年"物联网物联网技术应用与维护"任务五题1(中职组) 1.题目要求 2.工程文件 在比赛中,提供了一个基于Bas ...

  6. JS自学笔记01

    JS自学笔记01 1.开发工具 webstorm 2.js(javascript) 是一门脚本.解释性.动态类型.基于对象的语言 含三个部分: ECMAScript标准–java基本语法 DOM(Do ...

  7. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!【转】

    转自:http://www.cnblogs.com/bitzhuwei/p/OS-in-30-days-01-hello-bitzhuwei-OS.html 阅读目录(Content) 最初的OS代码 ...

  8. ASP.NET Identity 2集成到MVC5项目--笔记01

    Identiry2是微软推出的Identity的升级版本,较之上一个版本更加易于扩展,总之更好用.如果需要具体细节.网上具体参考Identity2源代码下载 参考文章 在项目中,是不太想直接把这一堆堆 ...

  9. C++ GUI Qt4学习笔记01

    C++ GUI Qt4学习笔记01   qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...

  10. SaToken学习笔记-01

    SaToken学习笔记-01 SaToken版本为1.18 如果有排版方面的错误,请查看:传送门 springboot集成 根据官网步骤maven导入依赖 <dependency> < ...

随机推荐

  1. YTT的提问以及由此引出的未来规划之思考

    未来规划之思考 我已经很久没有考虑过未来的规划了,之所以没有规划,是因为我觉得现实是复杂的,我现在的认知还不够深刻,建立在肤浅认知上的规划是容易经受现实的冲击而轻易改变的,与其规划变来变去,还不如干脆 ...

  2. day10-Python运维开发基础(函数嵌套、nonlocal声明局部变量、闭包、locals/globals、lambda表达式)

    1. 函数的嵌套与nonlocal 声明局部变量 # ### 函数的嵌套 """ 函数和函数之间可以互相嵌套: 嵌套在内层的叫做内函数 乔涛在外层的叫做外函数 " ...

  3. 「NOIP2012」开车旅行

    传送门 Luogu 解题思路 第一步预处理每个点后面的最近点和次近点,然后就是模拟题意. 但是如果就这么搞是 \(O(N^2)\) 的,不过可以过70分,考场上也已经比较可观了. 考虑优化. 预处理最 ...

  4. Java枚举类型enum使用详解

      java的Enum枚举类型终于在j2se1.5出现了.之前觉得它只不过是鸡肋而已,可有可无.毕竟这么多年来,没有它,大家不都过得很好吗?今日看<Thinking in Java>4th ...

  5. 针对小文件的spark wholeTextFiles()

    场景:推送过来的数据文件数量很多,并且每个只有10-30M的大小 spark读取hdfs一般都是用textfile(),但是对于这种情况,如果使用textFile默认产生的分区数将与文件数目一致,产生 ...

  6. du与df的区别

    我们知道,磁盘的整体数据是记录在superblock中的,但是每一个文件的容量信息则在inode当中记载的.因此,引出了两个查看这些数据信息的命令: df:列出文件系统的整体磁盘使用量.由于df主要读 ...

  7. QEMU 运行uboot,动态加载内核与文件系统

    背景 上一讲我们完成了 编译 QEMU 以及简单地做了仿真.这一讲在 启动uboot 的基础上进行,以加强对于 运行地址,加载地址等理解. 有关资料: uboot 与 代码重定位 有这样的约定,ubo ...

  8. call 和 apply 用法

    ECMAScript规范中,所有函数都包含这两个方法,并且两个方法的使用基本一致,都是用于改变函数的作用域,即改变函数体内 this 指向.不同的是 call 方法的第二个参数可以接收任意个参数,以逗 ...

  9. 求第K大数(分治)

    题意:已知N个数,求第K大数. 分析: 1.复杂度O(n). 2.利用快排中划分的原理,每次划分以序列中第一个数x为标准,将序列划分为{比x大的数}x{比x小的数}. 3.若集合{比x大的数}中元素为 ...

  10. springCloud 之 Eureka服务治理机制及代码运行

    服务提供者 服务注册: 服务提供者在启动的时候通过发送Rest请求的方式将自己注册到Eureka Server上,同时带上了自身服务的一些元数据信息.Eureka Server在收到这个请求后,将元数 ...