PHP编程入门的基本语法知识点总结


Posted in PHP onJanuary 26, 2016

一、何为php

    PHP,即“PHP: Hypertext   Preprocessor”,是一种被广泛应用的开源通用脚本语言,尤其适用于 Web 开发并可嵌入 HTML   中去。它的语法利用了 C、Java 和 Perl,易于学习。该语言的主要目标是允许 web 开发人员快速编写动态生成的 web   页面,但 PHP 的用途远不只于此。

    简单来说,就是php是一种脚本语言,可以做很多事情。①服务器端脚本 ②命令行脚本 ③编写桌面程序

二、开始php

    (1)下载php解释器,其实win下面,最简单的还是wamp这个软件,下载下来什么都有了...

    (2)win下面貌似还需要,mscvr110.dll 这个链接库,vc2012运行库,安装即可

    (3)ide,无耻的使用了 phpStorm,等哥有钱了一定给你补回来, so...

User: newasp
License:
===== LICENSE BEGIN =====
14617-12042010
00001xrVkhnPuM!Bd!vYtgydcusnqt
mM!hZWoGg"DprWxZCBwsy8T91O7MRu
NVHtrbzv8O9mmoLvtijcHSSE7i5Jr!
===== LICENSE END ====

三、入门引导

    (1)简单的输出

<?php
/**
 * Created by PhpStorm.
 * User: LENOVO
 * Date: 2014/9/28
 * Time: 14:51
 */
// 输出PHP详细信息
echo phpinfo();
 
//C:\php-5.6.1-Win32-VC11-x86\php.exe D:\dizzy\php_test\index.php
//phpinfo()
//PHP Version => 5.6.1
//
//System => Windows NT LENOVO-PC 6.1 build 7600 (Windows 7 Ultimate Edition) i586
//Build Date => Sep 24 2014 18:54:12
//Compiler => MSVC11 (Visual C++ 2012)
//Architecture => x86
//Configure Command => cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"
//Server API => Command Line Interface

    (2)简单的表单处理

// 一个简单的html表单
<form action="action.php" method="post">
  <p>姓名: <input type="text" name="name" /></p>
  <p>年龄: <input type="text" name="age" /></p>
  <p><input type="submit" /></p>
</form>
 
// action.php 接收表单数据, 使用超全局变量
%_POST["name"]
%_POST["age"]
<?php echo htmlspecialchars($_POST['name']); ?>
<?php echo (int)$_POST['age']; ?>
// 这便是最简单的表单提交,及数据接收

四、基本语法

    (1)PHP标记

<?php
 
echo "Hello World!";
 
// 当文件为纯PHP时,最好在末尾删除PHP结束标记
//?>

    (2)从HTML中分离

// 在一对开始和结束之外的内容,都会被PHP解释器忽略。也就是html标签和PHP代码混合的那种,跟jsp,asp一样...
<p>This is going to be ignored by PHP and displayed by the browser.</p>
<?php echo 'While this is going to be parsed.'; ?>
<p>This will also be ignored by PHP and displayed by the browser.</p>
 
// 使用条件,高级分离
<?php if ($expression == true): ?>
  This will show if the expression is true.
<?php else: ?>
  Otherwise this will show.
<?php endif; ?>

    (3)指令分隔符,注释

        PHP需要在每个语句后面用分隔符结束指令。

        注释: // 或 /* ... */  但是,*/ 会匹配最近的那个,切记!切记!

五、类型

    PHP支持8种原始数据类型。

  •     四种标量类型:boolean(布尔型),integer(整型),float(浮点型,double),string(字符串)
  •     两种复合类型:array(数组),object(对象)
  •     两种特殊类型:resource(资源),NULL(无类型)
<?php
$a_bool = TRUE;  // a boolean
$a_str = "foo"; // a string
$a_str2 = 'foo'; // a string
$an_int = 12;   // an integer
 
echo gettype($a_bool); // prints out: boolean
echo gettype($a_str); // prints out: string
 
// If this is an integer, increment it by four
if (is_int($an_int)) {
  $an_int += 4;
}
 
// If $bool is a string, print it out
// (does not print out anything)
if (is_string($a_bool)) {
  echo "String: $a_bool";
}
?>

    (1)Boolean 布尔类型

        可以为TRUE或FALSE,不区分大小写。

        一般非0,即为TRUE。

    (2)Integer 整型

        整型可以使用十进制,十六进制,八进制或二进制表示。八进制前面必须加0(零),十六进制加0x,二进制加0b。

        如果给定的一个数超出了interger的范围,将会被解释为float。同样运算结果超出integer范围,同样如此。

        php没有整除运算符,1/2 将产生出 float 0.5。可以强制转换为integer 或使用round() 更好的四舍五入。

echo (int)2.9; // 输出 2
echo round(2.555, 2) // 输出 2.56

// 决不要将未知的分数强制转换为 integer,这样有时会导致不可预料的结果。
<?php
echo (int) ( (0.1+0.7) * 10 ); // 显示 7!
?>

    (3)Float 浮点型(double)

        浮点型,也叫浮点数float,双精度double, 实数real。

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
?>

    (4)String 字符转

        一个字符串string,就是由一系列的字符组成,其中每个字符等同于一个字节。这就意味着php只能支持256个字符集,因此不支持Unicode。

        string最大可以达到2GB。

<?php
$a = 123;
echo '$a'; // 输出 $a
echo "$a"; // 输出 123, 转义字符 '\'
 
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;
 
?>

    (5)Array 数组

        php中的数组,实际上是一个有序序列。映射是把values关联到keys的类型。

        由于数组元素的值也可以说是另外的数组,树形结构和多维数组也是允许的。

<?php
$array = array(
  "foo" => "bar",
  "bar" => "foo",
);
 
// 自PHP 5.4 起
$array = [
  "foo" => "bar",
  "bar" => "foo",
]
// key 可以是 integer 或 string 类型
// key 值为可选项, 如果未指定,则使用之前用过最大的integer键名加上1作为新键名
?>
 
// 要修改某个值,通过其键名给该单元赋一个新值。
// 要删除某个键值对,对其调用 unset() 函数。

        使用 unset() 需要注意,此时数组不会重建索引。需要重建索引,可以使用 array_values() 函数。

        数组计算总数: 使用 count() 函数

    (6)Object 对象

<?php
class foo{
  function do_foo(){
    echo "Doing foo.";
  }
}
// 用 new 实例化一个类
$f = new foo;
$f->do_foo;

    (7)Resource 资源类型

        资源 resource 是一种特殊的变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。

    (8)NULL

        特殊的NULL 表示一个变量没有值。NULL类型唯一可能的值就是NULL。

        可被认定为NULL的变量:①被赋值为NULL ②尚未被赋值 ③被unset

    (9)Callback 回调类型

        自PHP5.4 起,可以使用 callable 类型 指定回调类型 callback。

六、变量

    php中变量用一个美元符号 $ 后面跟变量名来表示的。区分大小写。

    变量默认总是传值赋值。

<?php
 
$a = 1;
// 值传递赋值 
$b = $a
// 引用赋值
$c = &$a
 
// global 关键字
global ; $GLOBALS

PHP 相关文章推荐
初学者入门:细述PHP4的核心Zend
Sep 05 PHP
在PHP中利用XML技术构造远程服务(上)
Oct 09 PHP
用PHP制作静态网站的模板框架(二)
Oct 09 PHP
Look And Say 序列php实现代码
May 22 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
简单谈谈php中ob_flush和flush的区别
Nov 27 PHP
php实现递归抓取网页类实例
Apr 03 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
PHP数组游标实现对数组的各种操作详解
Jan 26 #PHP
PHP面向对象程序设计实例分析
Jan 26 #PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 #PHP
php实现爬取和分析知乎用户数据
Jan 26 #PHP
简单谈谈php延迟静态绑定
Jan 26 #PHP
php制作的简单验证码识别代码
Jan 26 #PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 #PHP
You might like
php数据库密码的找回的步骤
2011/01/12 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
Ubuntu系统下Angularjs开发环境安装
2016/09/01 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2018/11/14 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
python调用java的Webservice示例
2014/03/10 Python
Python找出list中最常出现元素的方法
2016/06/14 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
Python里面如何实现tuple和list的转换
2012/06/13 面试题
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
服装公司总经理岗位职责
2013/11/30 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
给老婆的保证书范文
2014/04/28 职场文书
外联部演讲稿
2014/05/24 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书