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 相关文章推荐
在php中取得image按钮传递的name值
Oct 09 PHP
php smarty函数扩展
Mar 15 PHP
PHP中如何调用webservice的实例参考
Apr 25 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
Joomla开启SEF的方法
May 04 PHP
PHP+Ajax 检测网络是否正常实例详解
Dec 16 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
php实现基于PDO的预处理示例
Mar 28 PHP
laravel-admin 实现给grid的列添加行数序号的方法
Oct 08 PHP
laravel config文件配置全局变量的例子
Oct 13 PHP
tp5修改(实现即点即改)
Oct 18 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笔记之常用文件操作
2010/10/12 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
用js来解决ajax读取页面乱码
2010/11/28 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
bootstrap table实现合并单元格效果
2018/12/24 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Python实现统计文本文件字数的方法
2017/05/05 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
香港钟表珠宝首饰商城:OneMallTime网摩间
2016/10/14 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
架构师岗位职责
2013/11/18 职场文书
现金会计岗位职责
2013/12/05 职场文书
公司薪酬管理制度
2014/01/31 职场文书
对公司合理化的建议书
2014/03/12 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
廉洁自律个人总结
2015/02/14 职场文书
公司放假通知怎么写
2015/04/15 职场文书
background-position百分比原理详解
2021/05/08 HTML / CSS
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers