PHP学习总结
<?php
/*
PHP简介:
PHP是什么:PHP是一种创建动态交互性站点的强有力的服务器端脚步语言
PHP代表Hypertext Preprocessor
PHP是一种使用广泛的开源的脚本语言
PHP代码在服务器上执行,结果以纯HTML形式返回给浏览器
PHP文件可包含文本、HTML、JavaScript代码和PHP代码
PHP是免费的
PHP可以做什么:
PHP可以生成动态页面的内容
PHP可以创建、打开、读取、写入、关闭服务器上的文件
PHP可以收集表单数据
PHP可以发送和接受cookies
PHP可以添加、删除、修改您的数据库中的数据
PHP可以限制用户访问您的网站上的一些页面
PHP可以加密数据
PHP可以输出HTML,也可以输出图像、PDF文件、XHTML和XML.
为什么使用PHP:
PHP可以在不同的平台上运行
PHP与目前几乎所有的正在被使用的服务器相兼容
PHP提供广泛的数据库支持
PHP易于学习,并可搞笑地运行在服务器端
PHP语言:
PHP 语法:PHP脚本在服务器上执行,然后将纯HTML结果发送回浏览器
基本的PHP语法:
PHP可以放在文档中的任何位置
PHP脚本以<?php开始,以?>结束
<?php
//PHP 代码
?>
PHP 变量:
变量以$符号开始,后面跟着变量的名称
变量名必须以字母或者下划线字符开始
变量名只能包含字母数字字符以及下划线(A-a、0-9和_)
变量名不能包含空格
变量名区分大小写
变量在您第一次赋值给它的时候被创建,没有声明变量的命令。
PHP会根据变量的值,自动把变量转换为正确的数据类型。
$x=5;
PHP变量作用域:四种不同的变量作用域
locale
global
static:局部变量不想删除时使用
parameter
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问。
要在一个函数中访问一个全局变量,需要使用global关键字。
PHP将所有全局变量存储在一个名为$GLOBALS[var]的数组中,var是变量名。
在PHP函数内部声明的变量是局部变量,仅能在函数内部访问。
PHP echo和print语句:
PHP中两个基本的输出方式:echo和print。
echo:可以输出一个或多个字符串
echo "hello world";
echo "<br>";
echo "study php at $str1";
print:只能输出简单类型变量的值,如int,string
print_r:可以输出复杂类型变量的值,如数组,对象
PHP5 数据类型:
string(字符串)
一个字符串就是一串字符的序列,如"hello world"
可以将任何文本放在单引号和双引号中
Integer(整形)
整数是一个没有小数的数字,可以是正负数,可以用十进制、八进制、十六进制来指定。
var_dump函数返回变量的数据类型和值
$x=5985;
var_dump($x);返回//int(5985)
Float(浮点型)
浮点数是带小数部分的数字,或是指数形式。
$y=10.94;
var_dump($y);//返回float(10.94)
Boolean(布尔值)
布尔型可以是TRUE或FALSE
通常用于条件判断
$x=true;
Array(数组)
数组可以在一个变量中存储多个值
$cars=array("vovlo","BMW","TOYOTA");
Object(对象)
对象类型也可以用于存储数据,在PHP中对象必须声明
使用class关键字声明对象,类是可以包含属性和方法的结构
class Car{
}
NULL(空值)
NULL值表示变量没有值,NULL是数据类型为NULL的值
可以通过设置变量值为NULL来清空变量数据
$x=NULL;
PHP5 常量:
常量值被定以后,在脚本的其他任何地方都不能被改变。
常量可以在整个脚本中使用。
设置常量:
使用define()函数,语法如下:
define(string constant_name,mixed value,case_sensitive=true)
constant_name:常量名称,即标识符
value:常量的值
case_sensitive:指定是否大小写敏感,true表示不敏感
define("GREETING","welcome to w3c",true);
echo GREETING;
PHP 字符串变量:
字符串变量用于存储并处理文本。
常用的操作字符串的函数和运算符:
PHP并置运算符:
在PHP中,只有一个字符串运算符,并置运算符(.),用于把两个字符串值连接起来。
$txt1="hello";
$txt2=" world";
echo $txt1.$txt2;
PHP strlen()函数:
返回字符串的长度
echo strlen("hello world");
PHP strpos()函数
用于在字符串内查找一个字符或一段指定的文本。从0开始
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
echo strpos("hello world","world");
PHP 运算符:
算数运算符:+、-、/、%、*
赋值运算符:=、+=、-+、*=、/=、%=、.=
递增递减运算符:++x、--x、x++、x--
比较运算符:==,===、!=,!==,>,<,>=,<=
逻辑运算符:and,or,xor,&&,||,!
数组运算符:+,==,====,!=,<>,!==
PHP if-else语句:
用于根据不同条件执行不同动作。
if(){
}else{
}
PHP switch语句:
根据多个不同条件执行不同动作。
switch(n){
case 1:
//语句
break;
case 2:
//语句
break;
default:
}
PHP 数组:
数组是一个能在单个变量中存储多个值得特殊变量。
创建数组:array();
数组类型:
数值数组:带有数字ID键的数组
两种创建方法:
$cars = array("volvo","BMW","TOYOTA");
$cars[0]="volvo";
$cars[1]="BMW";
$cars[2]="TOYOTA";
获取数组的长度:count()函数,返回数组的长度(元素的数量)
echo count($cars);
遍历数值数组:使用for循环
$cars = array("volvo","BMW","TOYOTA");
$carlength=count($cars);
for($x=0;$x<$carlength;$x++){
echo $cars[$x];
echo "<br>";
}
关联数组:带有指定的键的数组,每个键关联一个值
两种创建方法:
$age=array("peter"=>"35","peter2"=>"36","peter3"=>"37");
$age['peter']="35";
$age['peter2']="36";
$age['peter3']="37";
使用:$age['peter']
遍历关联数组:foreach循环
$age=array("peter"=>"35","peter2"=>"36","peter3"=>"37");
foreach($age as $x=>$x_value){
echo $x.",value=".$x_value;
echo "<br>";
}
多维数组:包含一个或多个数组的数组
PHP 数组排序:
sort(); 对数组进行升序排列
rsort();对数组进行降序排列
asort();根据关联数组的值,对数组进行升序排列
arsort();根据关联数组的值,对数组进行降序排列
ksrot();根据关联数组的键,对数组进行升序排列
krsort);根据关联数组的键,对数组进行降序排列
PHP 超级全局变量:
PHP while循环:
PHP for循环:
PHP 函数:
PHP 魔术变量:
PHP 命名空间:
PHP 面向对象:
*/
?>
PHP学习总结的更多相关文章
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Unity3d学习 制作地形
这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
随机推荐
- webuploader上传文件,图片
WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.官方地址:http://fex.baidu.com/webupload ...
- java转换 HTML字符实体,java特殊字符转义字符串
为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用.这些符号是不显示在我们最终看到的网页里的,那如果我们希 ...
- 深入理解js的变量提升和函数提升
一.变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域.变量提升即将变量声明提升到它所在作用域的最开始的部分.上个简历的例子如: ...
- 深入理解DOM节点类型第六篇——特性节点Attribute
× 目录 [1]特征 [2]属性 [3]方法 前面的话 元素的特性在DOM中以Attr类型表示,从技术角度讲,特性是存在于元素的attributes属性中的节点.尽管特性是节点,但却不是DOM节点树的 ...
- css基础
一. web标准化 (1).内容与样式,行为分离 (2).html用来定义语义内容,以及内容的结构 (xhtml) (3).xhtml标准 a.xhtml 必须强制指定文档类型 DocType,HTM ...
- UICollectionViewCell定制Button
UICollectionViewCell定制Button 效果 特点 1.能够动态设置每行显示的按钮的个数,以及控件的摆放格式 2.实现单选或者多选的功能,实现点击事件 3.自定制按钮的显示样式 用法 ...
- 使用WebRTC搭建前端视频聊天室——信令篇
博客原文地址 建议看这篇之前先看一下使用WebRTC搭建前端视频聊天室——入门篇 如果需要搭建实例的话可以参照SkyRTC-demo:github地址 其中使用了两个库:SkyRTC(github地址 ...
- RecyclerView如何消除底部的分割线
最近遇到一个问题,用RecyclerView显示数据,纵向列表显示,添加默认分割线. 问题是:底部也会显示分割线,这很影响美观. 怎么解决这个问题呢?我想了很多办法,毫无头绪... 最后, ...
- Android中的 init.rc文件简介
init.rc脚本是由Android中linux的第一个用户级进程init进行解析的. init.rc 文件并不是普通的配置文件,而是由一种被称为"Android初始化语言"(An ...
- android:布局、绘制、内存泄露、响应速度、listview和bitmap、线程优化以及一些优化的建议!
1.布局优化 首先删除布局中无用的控件和层级,其次有选择地使用性能较低的viewgroup,比如布局中既可以使用RelativeLayout和LinearLayout,那我们就采用LinearLayo ...