PHP的简单了解
PHP
标识符/关键字/数据类型
关键字:
输出方法echo和print
echo的速度快于print ,echo没有返回值,而print有返回值,且返回值总为1。
<?php
echo 'hello word<br>';
print 'hello word';
?>
输出结果为:hello world
hello world die() >> 输出一条消息,并退出当前脚本。//相当于 return的结束当前函数的功能
函数
其实PHP最经典,也是最核心的地方就是函数,PHP提供了超过一千种內建函数,参考手册点击前往;
作用域:
1.局部变量;
函数中的参数也是局部变量;
<?php
$x=5; // 全局变量
function myTest(){
$y=10; // 局部变量
echo "<p>测试函数内变量:<p>”;
echo "变量 x 为: $x”;
echo "<br>”;
echo "变量 y 为: $y”;
}
myTest();
echo "<p>测试函数外变量:<p>”;
echo "变量 x 为: $x”;
echo "<br>”;
echo "变量 y 为: $y”;
?>
2.全局变量:
<?php
$x=5;
$y=10;
function myTest(){
global $x,$y; //利用这个关键字声明的变量是全局变量;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?> 3.Static 作用域(JS中的闭包);
局部变量在运行结束之后会被删除,再次重新声明时会被重新赋值,但是static类变量不会,他会一直存在于php的变量中;
<?php
function fnName(){
static $x = 11;
echo $x;
$x++;
}
fnName();
fnName();
?>
数组
1.什么是数组?
用来储存多个数据的数据类型; 2.创建数组:
$arr = array(1,2,3,4,5); 3.使用数组:
$arr[0] //
$arr[1] // 手动数组赋值:
$arr[0] = 11; 数组相关方法:
获取数组长度:count()函数;
count($arr);//返回数组长度; 这样我们就可以写for循环了,数组中的内容我们就可以遍历出来了; for($x = 0 ; $x < count($arr) ; $x++){
echo $arr[$x];
} php关联数组:(用=>链接起来) $testArray = array('name' => 'liyang','age' => 18 );
echo 'liyang age is '.$testArray['age']; 数组排序:
sort() :升序排列; rsort() :降序排列; 遍历关联数组:foreach(); foreach()第一个参数为数组>> foreach($arr); foreach()第二个参数为关键字as代表在数组中找到的值赋给后面的变量 >> foreach($arr as); foreach()第三个和第四个参数为key和value ;也就是关联数组中的键和值 用 => 链接 >> froeach($arr as $key => value); $arr = array('firstName' => 'yang', 'lastName' => 'huaizhi’);
foreach ($arr as $key => $value) {
echo $key.'<br>';
echo $value.'<br>';
} foreach() 会执行两次,因为数组中有两对数据,如果数组中的数据有n个那么foreach就执行n次; 键值一一对应,根据颜色来查看;
对象
1.类与对象;
<?php
class show{
var $hello = "hello”;
function showMe(){
echo $this->hello . " world";
}
}
$me = new show();
$me -> showMe();
?> PHP中 用class 命名一个对象, 这个对象里面可以有属性和方法, 属性的命名方式为 var $变量名 = 变量值; 在类中使用这个变量的时候使用 $this 指向当前类。 $this -> 变量名(直接写变量名); 实例化类的时候,用new关键字; 调用内部方法的时候 使用 ->
返回JSON格式数据
json_encode()方法进行json格式的转码;
接收一个关联数组,返回值就是json格式的数据
作用:就是将关联数组转换成json格式的数据
数据库
| 类型 | 存储范围 | 字节 |
| TINYINT |
有符号值:-128到127(-2^7到2^7-1)
无符号值:0到255(0到2^8-1)
|
1 |
| SMALLINT |
有符号值:-32768到32767(-2^15到2^15-1)
无符号值:0到 65 535(0到2^16-1)
|
2 |
| MEDIUMINT |
有符号值:-8388608到8388607(-2^23到2^23-1)
无符号值:0到 16 777 215(0到2^24-1)
|
3 |
| INT |
有符号值:-2147483648到2147483647(-2^31到2^31-1)
无符号值:0到 4 294 967 295(0到2^32-1)
|
4 |
| BIGINT |
有符号值:-922337203685477808到922337203685477807(-2^63到2^63-1)
无符号值:0到 18 446 744 073 709 551 615(0到2^64-1)
|
8 |
| 类型 | 存储范围 | 字节 |
| FLOAT(4,1) |
有符号:(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)
无符号:0到(1.175 494 351 E-38,3.402 823 466 E+38)
|
4 |
| DOUBLE |
有符号: (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
无符号: 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
|
8 |
| 类型 |
大小
(字节)
|
范围 | 格式 | 用途 |
| DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
| TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或持续时间 |
| YEAR | 1 | 1901/2155 | YYYY | 年份值 |
| DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
| TIMESTAMP | 4 |
1970-01-01 00:00:00/2038
结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07
|
YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
| 类型 | 大小 | 用途 |
| CHAR | 0-255字节 | 定长字符串 |
| VARCHAR | 0-65535 字节 | 变长字符串 |
| TINYBLOB | 0-255字节 | 不超过 255 个字符的二进制字符串 |
| TINYTEXT | 0-255字节 | 短文本字符串 |
| BLOB | 0-65 535字节 | 二进制形式的长文本数据 |
| TEXT | 0-65 535字节 | 长文本数据 |
| MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
| MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
| LONGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
| LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |
在PHP中使用MySQL
连接数据库管理系统函数:
$link = new mysqli(host,username,password,dbname);
参数释义:
host,mysql的主机名或ip地址
usernane,mysql用户名
pasword,mysql密码
dbname,要操作的数据库名
返回值:
当连接成功时返回连接标识符
当连接失败时返回false
连接失败:
echo $link->connect_error; 设置字符集:
$link->set_charset("utf8"); 查询语句(执行一条sql语句):
$link->query(sql命令); 插入数据:
$query1 = "insert tb_name (字段名) values(对应值)";
$link->query($query1); 更新数据:
$query2 = "update tb_name set 字段名=值 where 条件";
$link->query($query2); 删除记录:
$query3 = "delete from tb_name where 条件"
$link->query($query3); 查询记录:
$query4 = "select * from tb_name";
$res = $link->query($query4); 索引数组+关联数组查看数据:$res->fetch_array()
索引数组查看数据:$res->fetch_row();
关联数组查看数据:$res->fetch_assoc(); √
对象方式查看数据:$res->fetch_object();
以上四种方式每次执行返回一条记录的数据,可配合循环多次执行,查询所有数据 断开数据库的函数:
$link->close();
断开连接
程序执行完毕自动断开,可省略不用
PHP的简单了解的更多相关文章
- 【造轮子】打造一个简单的万能Excel读写工具
大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式 ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- 哪种缓存效果高?开源一个简单的缓存组件j2cache
背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务 ...
- 在Openfire上弄一个简单的推送系统
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 使用 Nodejs 搭建简单的Web服务器
使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块. ...
- ASP.NET Aries 入门开发教程2:配置出一个简单的列表页面
前言: 朋友们都期待我稳定地工作,但创业公司若要躺下,也非意念可控. 若人生注定了风雨飘摇,那就雨中前行了. 最机开始看聊新的工作机会,欢迎推荐,创业公司也可! 同时,趁着自由时间,抓紧把这系列教程给 ...
- 简单入门canvas - 通过刮奖效果来学习
一 .前言 一直在做PC端的前端开发,从互联网到行业软件.最近发现移动端已经成为前端必备技能了,真是不能停止学习.HTML5新增的一些东西,canvas是用的比较多也比较复杂的一个,简单的入门了一下, ...
- 简单粗暴地理解js原型链--js面向对象编程
原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好. 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么.简单粗暴点看原型链吧, ...
随机推荐
- Linux C++ Socket 高并发短连接 TIME_WAIT 挥之不去解决方法
近期遇到一个项目 需要在Linux上建立一个Socket 进行 HTTP_GET , 需要线程高并发的 使用TCP Socket 进行Send 发送HTTP_GET请求到 指定网站 . 而且不需要re ...
- 『异或粽子 堆 可持久化trie』
异或粽子 Description 小粽是一个喜欢吃粽子的好孩子.今天她在家里自己做起了粽子. 小粽面前有 n 种互不相同的粽子馅儿,小粽将它们摆放为了一排,并从左至右编号为 1 到 n.第 i 种馅儿 ...
- C# 多维数组 交错数组的区别,即 [ , ] 与 [ ][ ]的区别 (转载)
多维数组的声明 在声明时,必须指定数组的长度,格式为 type [lenght ,lenght ,lengh, ... ] , ]; 或声明时即赋值,由系统推断长度 int [,] test1 = { ...
- 使用docker部署titpetric/netdata
netdata 是常用的Linux系统性能实时监控面板 官方docker netdata/netdata部署 docker run -d --name=netdata \ -p 19999:19999 ...
- APS.NET MVC + EF (01)---Linq和Lambda表达式
1.1 Linq介绍 LINQ全称 Language Integrated Query(语言集成查询).为我们提供一种统一的方式来查询和操作各种数据. LINQ to Object:是针对实现了IEn ...
- Java自学-异常处理 Exception
Java 异常 Exception 异常定义: 导致程序的正常流程被中断的事件,叫做异常 步骤 1 : 文件不存在异常 比如要打开d盘的LOL.exe文件,这个文件是有可能不存在的 Java中通过 n ...
- 2019-08-01 jquery中常用方法
1.attr()方法设置或返回被选元素的属性值 <html> <meta charset="utf-8"/> <head><title&g ...
- Android编译系统中的Android.bp
https://www.cnblogs.com/bluestorm/p/10895005.html Android.bp,是用来替换Android.mk的配置文件. 它使用Blueprint框架来解析 ...
- Android-----CheckBox复选使用(实现简单选餐)
直接上代码: xml布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmln ...
- mac下比较好用的svn软件,SVN客户端CornerStone 2.7.10 破解版
一.已经破解,可以直接使用. dmg文件无密码,也不需要注册机.直接使用即可 二. 界面... 三.添加repository 点击左侧栏中REPOSITORY那一栏的+选择添加reposito ...