开端<?php>结尾
弱类型语言 定义变量的时候 不需要 声明 但是 每一个变量前 都必须 加$ 符号
储存文件按 统一放到 安装文件夹下面的 WAMP 下面 的WWW 文件内部 (与创的站点统一即可) 该文件下面不能出现中文
注释语法: 单行注释:// 多行注释 /**/
支持的格式: int float string bool object
定义变量 :php 里面 的所有变量 都需要 加 '$ ' $a=10 就是 对 a 赋值 一般在定义的时候 就要对他赋值
普通定义: $s="张三"
$h="b";
字符串连接: $b="hellow {$s} nihao"
也可以 $b="hellow nihao".$s 这样只能 加在 最前面 或最后面
可变 变量 $$ : echo $$h; ---> $b 的内容
输出语法 1.echo 可以输出字符串 echo $a; (输出变量 a)
2. print 可以输出变量 和 字符串 print $ a;
echo 可以输出 多个字符串 【 输出的都是字符串; 整型 默认转换成字符串来输出】
$b='sda';
$a='hello';
echo $a,$b; 或者 echo $a,'sda';
print 每次只能输出一个 字符串【 输出的都是字符串; 整型 默认转换成字符串来输出】
3.var_dump() 输出 变量的所有信息; var_dump($a) 主要用于 调试 错误
4.print_r();专门打印数组的
字符串转化:
$ a=10; $a=(string)$a; 强制转化a 的类型 转化为字符串
settype($a,'string'); 强制转化a 的类型 转化为字符串
定义字符串:
$a1='hellow';
$a2="hellow";
$a3=<<
A;
双引号和单引号 定义的区别
1. 双引号 内部 可以解析转义字符 单引号里面 不能解析转义字符 (反斜杠)(如果想要 显示换行 还是用
)
2. php 里面 拼接字符串用 . 不是用+ ;php 双引号 字符串里面 可以解析变量{} 花括号 来定位 必须加
举例:
$s="张三"
$h="b";
$b="hellow {$s} nihao"
也可以 $b="hellow nihao".$s 这样只能 加在 最前面 或最后面
可变 变 量 echo $$h; ---> $b 的内容
常用的 方法 函数
empty() 判断变量 是否为空 empty($a) 返回 true 或false
isset() 判断变量是否 定义 isset($a) 返回 true 或false
unset() 删除变量的方法 unset($a)
&表示 变量的地址(输出时 只要在输出语句之前存在& 先找带有 &的 变量 )
$a=10; $b=&$a; echo $b; --->10
$a=10; $b=&$a; $a=5 ; echo $b; ---> 5 // 根据 地址寻找
尝试一下 $b=$a ; 是否 同样效果(结果输出5[输出最后赋值的])
错误抑制符 @
常见错误
Notice Warning error
$a 未定义 如果直接输出 就会报错 Notice 这样 echo @$a 就不会报错
如果 不输出 而报错 直接在 出错的位置前面 加@ 例如 @$a+&$b;
函数 结尾 不能加分号 在 JS 里面也是
PHP 与js 语言 基本相同 下面 是 区别
循环语句 与强类型语言 和 js 里面完全相同 遍历集合除外
遍历集合:
PHP 弱类型语言( $v 数组) 中:
foreach($attr as $v)
{
echo $v;
}
JS 弱类型语言( $v 数组) 中:
for (var aa in v)
{
document.write( aa);
}
强类型语言中得 遍历集合(详见 C# 整理的博客 )
foreach (int aa in v)
{
console.write( aa);
}
1. HTML 语言 函数写在 JS 里面 而 PHP语言 函数可以直接写在 <?php>函数位置> 内部 详见下面代码
全局变量 global 和局部变量(函数内部的变量)
$x=5;// 全局变量
$y=10;
function myTest()
{
global $x,$y; // 函数内部引用 全局变量 时要注明 global 后面加空格
$y=$x+$y;
}
myTest(); // run function
echo $y; // output the new value for variable $y
?>
函数里面引用全局变量 时注意要注明 全局变量
2.静态变量static:
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用 static 关键字:
function myTest()
{
static $x=0;
echo $x;
$x++;
}
myTest();
echo "
";
myTest();
echo "
";
myTest();
echo "
";
myTest();
echo "
";
myTest();
// 输出结果 0,1,2,3,4 如果去掉 static 则输出 全是 0
?>
static 静态变量
3.PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
$x=5;
$y=10;
function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y;
?>// 输出 15
数组
PHP 语言与JS 完全相同的地方 如下
运算符号 ( 和JS 弱类型语言一样) + - * / += -= .=(拼接字符串)
注意: $a=10; $b=11; echo $a++; --->输出 10;
比较运算符:(和JS一样) >< ==
逻辑运算符 (和JS 一样): && || !
$a=true; var_dump(!$a); ---> 输出 false
同样支持 and 和 or 对应上面的 && 和 ||
三元运算符(和JS 一样 ) echo a>b?"对":"错" ;
三步运算符 常用在 判断 男女 $sex=false; echo $sex=false? “男”:”女”;
swift 学习(二)基础知识 (函数,闭包,ARC,柯里化,反射)
函数 func x(a:Int, b:Int) {} func x(a:Int, b:Int) -> Void {} func x(a:Int, b:Int) ->(Int,Int ...
python基础——高阶函数
python基础——高阶函数 高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数a ...
Swift语法基础入门三(函数, 闭包)
Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...
python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
JavaScript基础知识(函数)
函数的基础 函数: 把实现相同功能的代码放到一个函数体中,当想实现这个功能时,直接执行这个函数即可:减少了的冗余:高内聚,低耦合--> 函数的封装: 函数:引用数据类型: var a = 10; ...
小白学 Python(17):基础数据类型(函数)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
openresty开发系列14--lua基础语法3函数
openresty开发系列14--lua基础语法3函数 一)function (函数) 有名函数: optional_function_scope function function_name( ar ...
python基础——内置函数
python基础--内置函数 一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...
自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
第二十三节:Java语言基础-详细讲解函数与数组
函数 函数在Java中称为方法,在其他语言中可能称为函数,函数,方法就是定义在类中具有特定功能的程序.函数,在Java中可称为方法. 函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1, 参数 ...
随机推荐
Windows Azure Virtual Machine (25) 使用SSH登录Azure Linux虚拟机
本文介绍内容适合于Azure Global和Azure China 为什么使用SSH登录Azure Linux虚拟机? 我们 ...
Android xml 格式 随笔
打包的时候Android xml文件会由字符格式(utf-8编码)转换为二进制格式.具体如:http://blog.csdn.net/jiangwei0910410003/article/detail ...
JavaBean基础转载
JavaWeb:JavaBean基础 JavaBean基础 JavaBean简介: 1.JavaBean是一种可以重复使用的类,可以没有用户界面,主要负责业务数据或者处理事物(数据运算.操作数据库) ...
BestCoder Round #70 Jam&#39;s math problem(hdu 5615)
Problem Description Jam has a math problem. He just learned factorization. He is trying to factorize ...
Android编程中的实用快捷键
作为一个优秀的程序员,不但要能开发出漂亮的软件,也要能熟练掌握编程的技巧,包括IDE的快捷键使用.比如linux 下的VI编辑器,对于不熟练快捷键的人来说就是一个噩梦,但一旦你熟练了VI的快捷键,VI ...
socket及其相关(续篇)
IO 多路复用 基本概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程.IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口), ...
python之旅5【第五篇】
装饰器详解 函数刚开始不解析内部,只是放进内存 装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或类,使用装饰器可以在函数执行前和执行后添加相应操作. 1 下面以一个函数开始,理解下面 ...
LOG EXPLORER ApexSQL Log
http://www.minisoft.cn/ https://www.apexsql.com/sql_tools_log.aspx
expect交互式创建账号密码
这个脚本是我在建立samba用户的时候用到的,一开始我是一步一步的操作,后来嫌麻烦了,就写了这个脚本,也学习了一下expect. #!/usr/bin/expectset user [lindex $ ...
并发包交换数据Exchanger
/** * * @描述: 用于实现两个人之间的数据交换,每个人完成一定的事务后想与对方交换数据,第一个先拿出数据的人一直等待 * 直到第二个人拿到数据 到来时,才能彼此交换数据. * @作者: Wnj ...