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. Caused by: java.net.ConnectException: Connection timed out: connect

    发生这种情况的原因是:连接的路径发生错误

  2. 070、Java面向对象之深入贯彻对象引用传递

    01.代码如下: package TIANPAN; class Book { // 定义一个新的类 String title; // 书的名字 double price; // 书的价格 public ...

  3. 隐患写法flag.equals("true")带来的空指针异常

    分类:2008-06-04 12:47 467人阅读 评论(0) 收藏 举报 linuxjava测试 昨天,有同事A对同事B写的程序进行测试时,出现错误,看控制台信息,发现抛出了空指针异常. 调查结果 ...

  4. poj1703 Find them, Catch them(种类并查集

    题目地址:http://poj.org/problem?id=1703 题目大意:警察抓了n个坏蛋,这些坏蛋分别属于龙帮或蛇帮.输入m个语句,A x y询问x和y的关系(在一个帮派,不在,不能确定), ...

  5. TeX 常用命令记录

    常用: $a_{i}^{2}$    a_{i}^{2} $\sqrt x$     $\sqrt[n] x$     \sqrt[n] x $\frac{1+2}{3+4}$ 重音符号: $\hat ...

  6. 关于syx的npy

    请认准官方女友----- STL 任何人在不得syx同意下不能传播其它谣言

  7. Spark调优(二) 数据本地化

    Application任务执行流程:  在Spark Application提交后,Driver会根据action算子划分成一个个的job,然后对每一 个job划分成一个个的stage,stage内部 ...

  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 图片:图片响应式 (将很好地扩展到父元素)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. BusyBox 添加 自定义命令\小程序 (applet)

    背景 在做嵌入式开的时候,busybox无疑是非常好用的命令集,所以很多时候都喜欢把busybox移植到我们的系统里面. 说明 添加一个很简单的命令--hello_busybox,输出"He ...

  10. uni-app小程序组建

    (1)新建组建:编辑器右击 新建组建 (2)传值 <template> <view class="myRankingList"> <block v-f ...