PHP编程入门的基本语法知识点总结,编程入门基本语法
一、何为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文件是否有语法错误的方法
- PHP 基本语法格式
- PHP教程 基本语法
- PHP insert语法详解
- PHP语法速查表
- 浅谈PHP语法(1)
- PHP语法自动检查的Vim插件
- php正则表达式的基本语法总结
- 配置php网页显示各种语法错误
- php trim 去除空字符的定义与语法介绍

PHPSession失效的原因包括配置错误、Cookie问题和Session过期。1.配置错误:检查并设置正确的session.save_path。2.Cookie问题:确保Cookie设置正确。3.Session过期:调整session.gc_maxlifetime值以延长会话时间。

在PHP中调试会话问题的方法包括:1.检查会话是否正确启动;2.验证会话ID的传递;3.检查会话数据的存储和读取;4.查看服务器配置。通过输出会话ID和数据、查看会话文件内容等方法,可以有效诊断和解决会话相关的问题。

多次调用session_start()会导致警告信息和可能的数据覆盖。1)PHP会发出警告,提示session已启动。2)可能导致session数据意外覆盖。3)使用session_status()检查session状态,避免重复调用。

在PHP中配置会话生命周期可以通过设置session.gc_maxlifetime和session.cookie_lifetime来实现。1)session.gc_maxlifetime控制服务器端会话数据的存活时间,2)session.cookie_lifetime控制客户端cookie的生命周期,设置为0时cookie在浏览器关闭时过期。

使用数据库存储会话的主要优势包括持久性、可扩展性和安全性。1.持久性:即使服务器重启,会话数据也能保持不变。2.可扩展性:适用于分布式系统,确保会话数据在多服务器间同步。3.安全性:数据库提供加密存储,保护敏感信息。

在PHP中实现自定义会话处理可以通过实现SessionHandlerInterface接口来完成。具体步骤包括:1)创建实现SessionHandlerInterface的类,如CustomSessionHandler;2)重写接口中的方法(如open,close,read,write,destroy,gc)来定义会话数据的生命周期和存储方式;3)在PHP脚本中注册自定义会话处理器并启动会话。这样可以将数据存储在MySQL、Redis等介质中,提升性能、安全性和可扩展性。

SessionID是网络应用程序中用来跟踪用户会话状态的机制。1.它是一个随机生成的字符串,用于在用户与服务器之间的多次交互中保持用户的身份信息。2.服务器生成并通过cookie或URL参数发送给客户端,帮助在用户的多次请求中识别和关联这些请求。3.生成通常使用随机算法保证唯一性和不可预测性。4.在实际开发中,可以使用内存数据库如Redis来存储session数据,提升性能和安全性。

在无状态环境如API中管理会话可以通过使用JWT或cookies来实现。1.JWT适合无状态和可扩展性,但大数据时体积大。2.Cookies更传统且易实现,但需谨慎配置以确保安全性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver CS6
视觉化网页开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)