八种数据类型:

4种标量类型:boolean、integer、float、string

2种复合类型:array、object

2种特殊类型:resource、NULL

如果想看某个表达式的值和类型用函数var_dump();

变量

变量的规则:

  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
  • 变量会在第一次赋值时被创建。无需声明变量的类型。

三种不同的变量作用域

1.local(局部)

2.global(全局,是关键字)

3.static(静态,可以用于面相对象的静态绑定)

当函数完成执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要static

global 关键词用于访问函数内的全局变量。同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。

引用赋值,将“&”加到变量前。将变量的引用方式复制给型新变量。

unset不会导致另一个变量的消失

echo 没有返回值

strpos来确定另外一个字符串位置

define定义常量

自定义函数必须function开头 (参数引用赋值,return,默认参数,l参数)

三种数组类型(基本写法,排序[索引数组排序用for],[关联数组排序用[freach])

  1. 索引数组 - 带有数字索引的数组
  2. 关联数组 - 带有指定键的数组
  3. 多维数组 - 包含一个或多个数组的数组
$cars=array("Volvo","BMW","SAAB");
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[] . ", " . $cars[] . " and " . $cars[] . ".";
?> // count $cars=array("Volvo","BMW","SAAB");
echo count($cars); // 变量索引数组 $cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);

//对索引数组排序
for($x=;$x<$arrlength;$x++) {
echo $cars[$x];
echo "<br>";
}
?> 关联数组:
$age=array("Peter"=>"","Ben"=>"","Joe"=>"");

$age['Peter']="";
$age['Ben']="";
$age['Joe']=""; $age=array("Bill"=>"","Steve"=>"","Peter"=>"");
echo "Peter is " . $age['Peter'] . " years old."; // 遍历
<?php
$age=array("Bill"=>"","Steve"=>"","Peter"=>""); foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

数组的基本排序函数

sort—以升对数组排序

rsort—以降序对数组排序

asort—根据值,以升序对关联数组进行排序

ksort—根据键,以升序对关联数组进行排序

arsort—根据值,以降序对关联数组进行排序

krsort—根据键,以降序对关联数组进行排序

超全局变量,也就是预定义的全局变量,在哪里都能用,有特殊含义:

  • $GLOBALS:引用全局作用域中可用的全部变量
  • $_SERVER:保存关于报头、路径和脚本位置的信息。
  • $_REQUEST:用于收集 HTML 表单提交的数据。
  • $_POST:用于收集提交 method="post" 的 HTML 表单后的表单数据。也常用于传递变量。
  • $_GET:$_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。
  • $_FILES:处理文件上传变量
  • $_ENV:包含服务器端环境变量的数组
  • $_COOKIE
  • $_SESSION

php 的基本语法的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  3. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  4. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  5. Velocity初探小结--velocity使用语法详解

    做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...

  6. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  7. C#语法糖大汇总

    首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...

  8. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

  9. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  10. postgresql 基本语法

    postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...

随机推荐

  1. Ubuntu 查看软件版本

    Boost dpkg -S /usr/include/boost/version.hpp OpenCV pkg-config --modversion opencv

  2. App测试从入门到精通之兼容性和回归测试

    兼容性测试需要考虑的APP测试点 1.不同网络环境下的兼容性测试 2.不同手机操作系统兼容性测试 3.不同应用软件的兼容性测试 4.不同的容量大小的SIM卡之间的互相兼容测试 5.当安装杀毒软件时,应 ...

  3. 编写高质量代码改善C#程序的157个建议——建议25:谨慎集合属性的可写操作

    建议25:谨慎集合属性的可写操作 如果类型的属性中有集合属性,那么应该保证属性对象是由类型本身产生的.如果将属性设置为可写,则会增加抛出异常的几率.一般情况下,如果集合属性没有值,则它返回的Count ...

  4. LIS问题---HDU1025 Constructing Roads In JGShining's Kingdom

    发现这个说的比较通俗: 假设存在一个序列d[1..9] = 2 1 5 3 6 4 8 9 7,可以看出来它的LIS长度为5.下面一步一步试着找出它.我们定义一个序列B,然后令 i = 1 to 9 ...

  5. 代理(Proxy)模式

    代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的反问. * 抽象主题角色(Subject):声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理主题. * ...

  6. C# -- 泛型(2)

    通过前面的文章我们知道“泛型”是个“形容词”,并且了解了 “泛型类” 和 “泛型数组” ,下面我们来看看泛型的其它的使用方式. 上一篇:C# -- 泛型(1) <1>.泛型方法 上一篇文章 ...

  7. C#字符串string的常用使用方法(转载)

    1--->字符串的声明: 1.string s=new string(char[] arr)     //根据一个字符数组声明字符串,即将字符字组转化为字符串. 2.string s=new s ...

  8. [转]sessionStorage()和localStorage()的用法

    JS的本地保存localStorage.sessionStorage用法总结: 1. localStorage.sessionStorage是Html5的特性,IE7以下浏览器不支持 为什么要掌握lo ...

  9. html manifest 离线配置

    HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓存为应用带来三个优势: 离线浏览 - 用户可在应用离线时使用它们 速度 - 已缓存资源加载 ...

  10. 数组Byte [] 和 string 相互转换

    using System; using System.Collections.Generic; using System.Text; namespace NET.MST.Fourth.StringBy ...