PHP笔记——java程序员看懂PHP程序
- php是一种服务器端脚本语言,类型松散的语言。
- <?php ?> xml风格
<script language=”php”></script> 脚本风格
<? ?> 简短风格
<% %> ASP风格
以;结尾;
- 注释:
a) //
b) #
c) /* */
- 变量是存储数据的容器,对大小写敏感。当变量非常长时,用定界符<<<.
$k=<<<str
…
str;
以为PHP为类型松散的语言,所以变量在声明的时候没有具体的类型关键词。
统一用$开头 + 变量名
1、 必须字母或者_开头
2、 只能包含字母数字字符和下划线
3、 对大小写敏感
- 变量可以在PHP脚本任意位置声明。
- 被引用/使用的脚本——作用域
a) local(局部)
b) global(全局)
c) static(静态)
函数之外声明的变量拥有global作用域,只能在函数之外进行访问。
函数内部声明的变量拥有local作用域,只能在函数之内进行访问。
函数内部调用global变量需要①在内部用global关键词进行声明;②$GLOBAL[index]中存储了所有的全局变量,可以通过超全局变量$GLOBAL[index]中获取。
- $GLOBAL[index]这个数组在函数内可以访问,并能够用于直接更新全局变量。
- 通常,当函数完成执行之后,会删除所有变量。假若不需要删除,即需要在首次声明的时候使用static
- 常量无$,在脚本中无法改变其值。通过define(“常量的名称”,”常量的值”,”常量名是否对大小写敏感”);true(大小写相同)不敏感,false敏感。在类里定义常量用const关键字。
根据使用位置而改变的常量,成为魔术常量。
1) __FILE__ 当前文件夹
2) __LINE__ 当前行数
3) __FUNCTION__ 当前函数名
4) __CLASS__ 当前类名
5) __METHOD__ 当前对象的方法名
- 打印:echo 能够输出一个以上的字符串。
print 只能够输出一个字符串,并始终返回1。
- 字符串长度strlen();检索字符串内指定的字符或文本strpos();字符串连接用“.”,“.”后跟数字必须加空格。
- 超全局变量:
a) $GLOBALS 引用全局作用域中的全部变量。
b) $_SERVER 保存关于报头、路径和脚本位置的信息。
c) $_REQUEST 用于收集HTML表单提交的数据。
d) $_POST 广泛用于收集提交method=”post”的HTML表单后的表单数据,也常用与传递变量。
e) $_GET 用于收集提交HTML表单(method=”get”)之后的表单数据,也可以收集URL中发送的数据。
f) $_FILES 从客户计算机向远程服务器上传文件。
g) $_ENV 获取服务器端的环境参数。(variables_order=EPGCS)
h) $_COOKIE 用于取回cookie的值。
i) $_SESSION 用于存储有关用户会话的信息,或者更改用户会话的设置。
- include/require语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用include/require语句的文件中。
a) require(静态加载),当出现错误的时候,会生成致命错误,并停止脚本。
b) include(动态加载),当出现错误的时候,只生成警告,脚本会继续执行。
c) require_once/include_once 同一个页面只包含一次。
- 数组处理:$数组名[‘键名’]来初始化数组;也可以通过Array()函数来创建数组。
count()返回数组的长度。
数组遍历:foreach循环,用count()得到数组的长度然后用for;list()语言结构循环,仅仅用于默认数字索引;each()返回的是键值对。
while(list($key,$value)=each($array)){
}
foreach($array as $key => $value){
}
- PHP中类对象用class关键字来声明,类的属性也有作用域,不指定作用域可以用var进行修饰,成员方法与函数的区别在于可以用关键字进行修饰。构造函数__constract,析构函数__destruct
- “::” 作用域操作符,可以在不实例化的情况下调用类中的常量,变量和方法;
“=>” 数组成员访问符号;
“->” 对象成员访问符号;
“=&” 引用(起别名);
“=” 赋值。
- $变量名 = new 类名([参数]); //实例化;
$变量名->成员属性 = 值; //为属性赋值;
$变量名->成员属性; //取得属性值;
$变量名->成员方法; //使用方法;
- mysql:一般用conn.php封装,然后用require到需要的页面。
1) $conn = mysql_pconnect(“localhost”,”root”,””) or die(mysql_error());
2) mysql_select_db(“数据库名”,$conn);//连接到指定的数据库。
3) mysql_query(“set names utf8”);
4) $sql = “”;
5) $resultSet = mysql_query($sql) or die (“Invalid query : “.mysql_error);//返回sql语句结果集;
6) while($v = mysql_fetch_array($resultSet)){
7) echo “字段名:”.$v[‘title’];
8) }
9) mysql_free_result($resultSet);//关闭结果集;
10) mysql_close($conn);//关闭连接
PHP笔记——java程序员看懂PHP程序的更多相关文章
-
从士兵到程序员再到SOHO程序员 (二)
原文地址: http://blog.huhao.name/blog/2013/12/13/become-a-freelancer-2/ 作者:胡皓 Blog:From Soldier to Progr ...
-
从士兵到程序员再到 SOHO 程序员 (三) - 游击战与阻力
从士兵到程序员再到 SOHO 程序员 (三) - 游击战与阻力 原文地址:http://blog.huhao.name/blog/2014/03/01/become-a-freelancer-3/ 作 ...
-
一个程序员对微信小程序的看法
我们公司用两周的时间开发了一款微信小程序,叫<如e支付>,大家可以去体验一下.由于接口都是写好的,所以开发起来很快.我将从4个不同的角度来介绍我对微信小程序的理解. 1.技术的角度 ...
-
找工作的程序员必懂的Linux
一.为什么要学习Linux 首先,我想先说一下:“为什么要学习Linux”?Linux 是什么,它是一款操作系统,是一个支持多用户.多任务.支持多线程和多CPU的操作系统:32位和64位的硬件可以在L ...
-
一个C#程序员学习微信小程序的笔记
客户端打开小程序的时候,就将代码包下载到本地进行解析,首先找到了根目录的 app.json ,知道了小程序的所有页面. 在这个Index页面就是我们的首页,客户端在启动的时候,将首页的代码装载进来,通 ...
-
*程序员推荐:每个程序员都应读的30本书
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...
-
【转】*程序员推荐:每个程序员都应读的30本书
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...
-
从士兵到程序员再到SOHO程序员
2013年9月13日,我从就职了一年半的S公司正式离职,并开始了我梦寐以求的“SOHO程序员”之路. 这对于我来说,是一次人生道路上的重要选择,在这里,我想分享一下我是如何选择了这条道路的,同时也是对 ...
-
[No000023]为何没有更多人从事程序员的工作?程序员常有,优秀程序员不常有!
成为优秀的程序员是极其困难的,并且这个过程不可能一蹴而就. 我们不可能期待去种一些树,然后一夜间收获有着2000年树龄的红杉树,无论其需求有多大. 人格特点 一个人首先得是自学者来学习编程.仅仅是超过 ...
随机推荐
-
[Leetcode] Roman to Integer
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...
-
[转]Linux之type命令
转自:http://codingstandards.iteye.com/blog/831504 用途说明 type命令用来显示指定命令的类型.一个命令的类型可以是如下之一 alias 别名 keywo ...
-
jq 事件冒泡总结
什么是JS事件冒泡? 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个 ...
-
getRequestDispatcher()和response.sendRedirect()
request.getRequestDispatcher()是请求转发,前后页面共享一个request response.sendRedirect()是重新定向,前后页面不是一个request.
-
转载微信公众号 测试那点事:Jmeter乱码解决
原文地址: http://mp.weixin.qq.com/s/4Li5z_-rT0HPPQx9Iyi5UQ 中文乱码一直都是比较让人棘手的问题,我们在使用Jmeter的过程中,也会遇到中文乱码问题 ...
-
TensorFlow卷积网络常用函数参数详细总结
卷积操作 tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 除去name参数用以指定该操作 ...
-
JavaWeb网上商城项目中sql语句问题的解决
出现的问题 解决方法 对ProductDaoImpl建立Junit测试得到问题所在 学到了 Junit case测试验证和debug分步执行 mysql是关系型数据库.Redis是非关系型数据库且比m ...
-
Android 打包混淆
将项目改成Module //项目build.gradle的applicationId注释掉 修改apply plugin: 'com.android.library' 打包混淆脚本 //在项目的bui ...
-
Linux基础命令---lpq查看打印队列
lpq lpq指令用来显示当前打印队列的状态.如果命令行中没有指定打印机或类,则将显示默认目标上排队的作业. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.ope ...
-
MySQL更改relay-bin名称导致同步停止的解决办法
今天在优化io的时候,移动了从库relay-bin的位置,并将hostname部分去掉了,启动后,从库slave状态如下: mysql> show slave status\G; ******* ...