PHP语言基础简单整理

PHP面试题错题整理 1,复选框的type属性值是(A) A. checkbox B. radio C. select D. check 解析:checkbox 定义复选框。radio 定义单选按钮。select 元素是一种表单控件。check是一个类的实例,也就是说是个对象,所以选A。 2.在数组末尾添加数组元素的函数是(D) A. array_pop B. array_shift C. array_unshift ... 阅读详情


1.开始结束标记<? ... ?>

2.定义变量:$变量名    例:$str="锦清笋";不需要指明数据类型

3.输出语句:

(1)echo  "hello world!";---echo命令

(2)print();输出语句,是函数,有返回值。输出成功返回1,失败返回0。

(3)printf();格式化输出字符串。例:printf("%d,%f",12,12.3);

(4)sprintf();格式化拼接字符串,不是输出语句,只能将字符串拼接。

(5)print_r();输出数组、对象等复合数据类型

4.数据类型:

(1)简单数据类型:

         Boolean布尔型

         string字符串型

         integer整型

         float浮点型

(2)复合数据类型:

         array数组

         object对象

(3)特殊数据类型:

         resource资源

         null空值

5.数据类型转换:

   在变量前加上括号括起来的类型名称即可。

6.检测数据类型:

  is_bool 检查变量是否是布尔类型

  is_string  ....

  is_float或is_double   ....

  is_integer 或 is_int  ....

  is_null  ....

  is_array ....

  is_object  ....

  is_numeric 检测变量是否为数组或由数字组成的字符串

7.声明和使用常量:

定义语法:define(‘PRICE’,100);

echo PRICE;

8.变量作用域:

局部变量:即在函数的内部定义的变量,其作用域是所在的函数

全局变量:即被定义在所有函数以外的变量,其作用域是整个php文件,但是在用户定义的函数内部不可用。想在用户定义的函数内部使用全局变量,要使用global关键词声明。

例:$a=123;

     function test()

         {

                   global$a;

                   echo$a;

         }

静态变量:能够在函数调用结束后仍保留变量值,当再次回到其作用域时,又可以继续使用原来的值。使用静态变量时,先要用关键字static来声明变量,需要把关键字static放在要定义的变量之前。

9.预定义变量:通过预定义变量可以获取用户会话、用户操作系统的环境和本地操作系统的环境等信息。如:

$GLOBALS,$_SERVER,$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$_FILES.

10.字符串运算符:句号:“.”;连接字符串

特别是拼写sql语句时:".$变量名."

11.逻辑运算符:逻辑异或:^或xor  当一个为真,一个为假时,结果为真,其他为假。

恒等:===

优先级:||在and之前,or在and之后。

12.@错误屏蔽:@错误屏蔽运算符可以对程序中出现错误的表达式进行操作,进而对错误进行屏蔽,其使用的方法就是在错误的表达式前加“@”即可。它只是对错误信息进行屏蔽,并没有真正解决错误。

13.定义和调用函数:函数名不区分大小写

function test($var1,$var2)

{

         函数体

}

test($var1,$var2);

函数的返回值:使用return返回单个值,和使用list()语言结构返回多个值。

传值调用:$变量名

传址调用:&$变量名

14.Form表单:

两种提交方式:get:将表单数据当做url的一部分传过去;url格式:http://地址:端口/目录/文件?var1=value1&...varn=valuen最长1024k

post:相比get而言,更安全,并不会导致因数据过长而引起url的数据丢失

使用超链接传值时必须用get来接收:<ahref="user_add.php?uid=<?=$uid?>">ADD</a>   接收:$uid=$_GET["uid"];

注意:<?=...?>的格式只有在没有判断语句时才能使用。

对表单传递的变量进行编码和解码:PHP中实现对查询字符串进行URL编码可以通过函数urlencode()实现,该函数的使用格式如下:string urlencode(string str);对URL编码后的查询字符串进行解码,可以通过urldecode()函数实现,该函数的使用格式如下:string urldecode(string str);

15.PHP连接数据库:

步骤:     一、建立连接------mssql_connect(server,uid,pwd);

         二、指定database-------mssql_select_db(databasename);

         三、执行sql------mssql_query($sql,$link);

         四、处理记录集-------资源类型数据,格式:bof---数据---eof

         五、以特定格式读取数据-----mssql_fetch_array()....

         六、释放相关资源、关闭连接------mssql_free_result($result);mssql_close();

16.数组:php的数组由键值和value值组成

定义:$array = array("键值"=>"value","键值"=>"value","键值"=>"value");如果不给键值赋值,默认从0开始的int值

相关函数:(1)in_array("值",数组名); 返回bool型-----查看数组中是否存在某value值

         (2)array_key_exists("key值",数组名); 返回bool型-----查看数组中是否存在某键值

         (3)array_keys(数组名);---将数组键值返回出来形成一个新数组,此键值作为新数组的value值

         (4)array_values(数组名);---将数组value值返回出来形成一个新数组,此值作为新数组的value值

         (5)key(数组名);----返回当前指针指向的元素key值

         (6)current(数组名);----返回当前指针指向的元素value值

         (7)next(数组名);----挪动当前数组指针到下一步

         (8)reset(数组名);----恢复数组指针,指向第0个元素

         (9)end(数组名);----将指针挪向最后一个元素

         (10)prev(数组名);----将指针向前挪动一位

         (11)foreach(数组名 as $key=>$value)

                   {

                            $key是键值,$value是value值,实现数组遍历

                   }

         (12)each(数组名);----将当前数组元素依次取出(自动挪动指针)并放到一个新的数组中

         (13)array_shift(数组名);----返回数组中第一个元素值

         (14)array_pop(数组名);----返回数组最后一个元素值

         (15)array_push(数组名,value);----向数组中追加元素

         (16)array_unshift(数组名,value);----在数组最前面添加元素

         (17)array_pad(数组名,数组长度,value);----向数组中追加多个元素,对数组副本操作,不改变原数组,返回一个新数组

         (18)count();----返回个数

         (19)array_unique(数组名);----去掉数组中重复部分,操作数组副本,不改变原数组,返回新数组

         (20)sort(数组名);----从小到大升序排列数组value值,一般针对int型value值,返回bool型,成功返回true

         (21)rsort(数组名);----从大到小,逆序排列数组value值

         (22)array_combine(数组1,数组2);----将数组1的value值作为key,数组2的value值作为value值,形成一个新数组

         (23)array_merge(数组1,数组2,数组3...);----合并多个数组,将多个数组value值依次合并,合为一个数组

         (24)array_slice(数组名,int,int);----从目标数组截取元素,形成一个新数组。开始位置为第二个参数,结束位置为第三个参数。若第三个参数不写,则默认是截取到最后。

         (25)array_splice();----用法同array_slice();但是其截取部分从原数组中删除

         (26)explode("字符依据",目标字符串);----将字符串按照一定的依据拆分成数组

         (27)implode("字符依据",目标数组);----将数组元素按照依据组合成一个字符串

         (28)range(mixed low,mixedhigh[number step]);----生成数组,例:range(1,100,8);---即从1到100,每8位取一个数,组成一个数组

         (29)shuffle(数组名);----用于将数组进行随机排序

         (30)array_sum(数组名);----对数值型数组元素值进行求和

         (31)array_chunk(数组名,int);----分割目标数组,返回一个新数组,其中数组的每个元素都是一个一维数组,int参数为分割成的一维数组的长度

17.Cookie和会话控制:

         Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie是由Web服务器保存在客户机上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web站点都可以访问Cookie信息。

         存在server端的是session,存在client端的是cookie,它们用来存储全局变量。

         设定Cookie值:setcookie("名","值");

         通过Cookie数组取值:$_cookie["名"];

         设置生成期:setcookie("名","值",time()+1800);生成期为当前时间加1800秒之后。

         删除cookie: setcookie("名","",time()-3600);中间值设置为空,并将当前时间减去3600秒。

         Cookie数组:setcookie("名[key]","值");   使用foreach读取。

     在PHP中可以通过$_COOKIE预定义变量访问Cookie的值。如果设置了php.ini中的register_long_arrays,那么就能够应用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中还设置了register_globals,那么就可以在PHP中作为全局变量使用各个Cookie值。但是,更改php.ini中的两个文件设置,容易对PHP的安全构成威胁,不推荐使用该方法,建议使用更新的$_COOKIE。

会话ID的传送

         会话ID的传送有两种方式,一种是Cookie方式,另一种是URL方式。

   Cookie传送方式:

         这是最简单的会话方式,但是有些客户可能限制使用Cookie,如果客户限制使用Cookie的条件下,仍要继续工作,那就要通过其他方式来实现了。

   URL传送方式:

         在该方式中,URL本身用来传送会话,会话标志被简单地附加到URL的尾部,或者作为窗体中的一个变量来传递。例:<ahref="user_add.php?uid=<?=$uid?>">ADD</a>

会话ID的生成:

         PHP的会话函数会自动处理ID的创建,但也可以通过手工方式创建会话ID。它必须是不容易被人猜出来的,否则有安全隐患。

         一般推荐生成会话ID使用随机数发生器函数srand(),函数声明如下:

                   srand((double)microtime()*1000000);

         在调用该函数后,要想生成一个唯一的会话ID,还必须使用下面的语句:

                   md5(unique(rand()));

Session会话:

         创建会话的步骤:启动一个会话,注册会话变量,使用会话变量和注销会话变量。

         (1)启动一个会话:》通过session_start();函数创建会话,函数声明为:bool  session_start(void);

                   》通过设置php.ini自动创建会话:设置php.ini中的session.auto_start选项,激活该选项即可自动创建会话(配置值改为1),但是使用该方法启动auto_start会导致无法使用对象作为会话变量。

         (2)注册会话变量:会话变量被启动后,全部保存在数组$_session中。通过数组$_session,直接给该数组提添加一个元素即可创建一个会话变量: $_session[session_name]=session_value;

         (3)使用会话变量:if(!empty($_session[session_name])){$myvalue=$_session[session_name]}

         (4)注销会话变量:注销某个session成员:unset($_session[session_name])

                   注销所有会话功能:$_session=array();然后使用session_destory();函数清除会话ID。

18.字符串处理:

         (1)获取字符串长度:int   strlen($str);

         (2)将指定字符串转换成大写:strtoupper($str);

         (3)将首字母转换成大写:ucfirst($str);

         (4)字符串与HTMl相互转换:htmlspecialchars($str);----将字符串中某些特殊字符转化成html格式

         (5)去除字符串的空格:trim()---去两遍空格,ltrim()----去左边空格,rtrim()----去右边空格

         (6)substr_count($str,"value");查询某字符在目标字符串中出现的个数

         (7)strpos($str,"value");----定位字符位置,返回int

         (8)防止单引号破坏sql语句:自动转义函数:addslashes();

                   <?php

                   $str= "Is your name O'reilly?";

                   //输出:Is your name O\'reilly?

                   echoaddslashes($str);

                   ?>

         (9)截取字符串:substr($str,start_int,end_int);---return$newstr

         (10)填充字符串:string str_pad (string input, int pad_length [, string pad_string [, int pad_type]] )

         例:<?php

                   $input= "Alien";

                   echostr_pad($input, 10);                     // produces "Alien     "

                   echostr_pad($input, 10, "-=", STR_PAD_LEFT);  // produces "-=-=-Alien"

                   echostr_pad($input, 10, "_", STR_PAD_BOTH);   // produces "__Alien___"

                   echostr_pad($input, 6 , "___");              // produces"Alien_"

                ?>

         (11)字符串的比较:int strcmp (string str1, string str2 )----按逐个字符的ascll码进行比较,如果返回等于0,则相等;大于0,则str1大于str2;小于0,则str1小于str2。

         (12)数字字符串的格式化:stringnumber_format ( float number [, int decimals [, string dec_point, string thousands_sep]])

该函数可以有1个,2个,或4个参数,但不能使三个。decimals意思是取小数点后几位,dec_point用来代替小数点,thousands_sep用来代替千位分隔符。

         (13)查找和替换:

                   查找:string strstr ( string haystack, string needle )

                   例:<?php

                            $email= 'user@example.com';

                            $domain= strstr($email, '@');

                            echo$domain; // prints @example.com

                          ?>

                   替换:mixed str_replace ( mixed search, mixed replace, mixed subject [,int &count] )----区分大小写

                             mixed str_ireplace ( mixed search,mixed replace, mixed subject [, int &count] )----不区分大小写

         (14)URL字符串解析:array parse_url ( string url )将url地址按照其构成解析成一个特殊数组。数组结构为:

                   Array

                   (

                    [scheme] => http

                   [host] => hostname

                    [user] => username

                    [pass] => password

                    [path] => /path

                    [query] => arg=value

                    [fragment] => anchor

                   )

【实战学习(五)】开源项目学习之uWSGI的部署以及配合nginx 文章目录1)uWSGI是什么?1.1 WSGI1.1.1 Application端1.1.2 Server端1.1.3 WSGI中间件1.2 uwgi1.3 uWSGI、WSGI、uwsgi之间的关系*为什么有了uWSGI为什么还需要nginx?2)连接uwsgi和Django*避坑之Windows10安装uWSGI非常极其艰难,最好勿浪费时间,直接转战Linux吧:2.1 uWGI部署2.1.1 在虚拟环境下安装uwsgi:2.1.2 测试uWSGI的运行2.1.3 使用uWSGI运行Django项目2. 阅读详情

相关推荐

Nornir自动化简单介绍-网络设备信息收集

作为网工,学会通过执行脚本,可以自动化的完成日常一些设备相关配置或信息收集等工作,可以说是事半功倍。 Nornir就是这样一个自动化网络运维工具。按照官网上的说明: Nornir是用python编写的自动化框架,可与python一起使用。Nornir旨在通过提供一个纯Python框架来解决这些问题。 详细参考: Github GitHub - nornir-automation/nornir: Pluggable multi-threaded framework with inventory .

Gun&rose 7804

PHP语言基础知识(超详细)

文章目录前言第一章 PHP语言学习介绍1.1 PHP部署安装环境1.2 PHP代码工具选择第二章 PHP代码基本语法2.1 PHP函数知识介绍2.2 PHP常量变量介绍2.2.1 PHP变量知识:2.2.2 PHP常量知识:2.3 PHP注释信息介绍2.4 PHP数据类型介绍2.4.1 整形数据类型2.4.2 布尔数据类型2.4.3 字符串数据类型2.4.4 浮点型数据类型2.4.5 PHP数据类型之查看和判断数据类型2.5 PHP流程控制语句2.6 PHP算数运算方法2.6.1 PHP程序自加自减运算2.

Jeromeyoung 16万+

Python XML 转 JSON,XML 转字典

今天我们将学习如何在 Python 中将 XML 转换为 JSON 和 XML 转换为字典。我们可以使用 Python 的xmltodict模块来读取 XML 文件并将其转换为字典或 JSON 数据。我们还可以在大型 XML 文件上进行流式处理,并将其转换为字典。在进入编码部分之前,让我们首先了解为什么需要进行 XML 转换。

rubys_的专栏 2501

PHP语言基础

PHP语言的学习与基础。能够快速理解并学习PHP语言的发展与基本框架。

2303_76600842的博客 2849

关于 MCU 芯片外围电路的快速入门介绍

MCU 外围电路的核心是“围绕 MCU 需求,搭建稳定、匹配的外部支撑”,入门阶段无需掌握复杂设计,只需先吃透供电、复位、时钟、IO 驱动、基础通信这五大模块,再逐步扩展存储、显示、传感器等进阶功能。实践中多调试、多参考成熟方案,是快速掌握外围电路设计的关键。码字不易,若觉得本文对你有用,欢迎,相关技术热点时时看🔥🔥🔥​​​…

JiaWen的博客 1642

FANUC机器人电弧跟踪功能深度解析:从电流采样原理到ROBOGUIDE仿真避坑指南

本文深度解析FANUC机器人电弧跟踪技术,从电流采样原理到ROBOGUIDE仿真避坑指南,详细介绍了电流波形分析、实时补偿机制及现场调试技巧。针对工业焊接中的常见问题,提供从底层原理到高阶应用的解决方案,帮助工程师优化自动化焊接质量。

weixin_31785177的博客 549

PHP基础教程

PHP基础教程

倔强的大蜗牛的博客 1999

流体动力学仿真软件:XFlow_(16).案例研究:热传输与相变

包括密度、比热容、热传导系数等。

kkchenjj的博客 722

PHP 基础知识

前端开发者必会的后端语言

Lixuanyi6181的博客 6108

Mstar的Monitor方案OSD 菜单制作(五)——icon绘制

Mstar的Monitor方案(五)————绘制icon

android 系统定制开发那些事 1807

【Java开发者必看】LangChain4j实战指南:使用AIService轻松集成聊天记忆Chat Memory到SpringBoot应用,通过封装多轮复杂对话,使聊天记忆的实现变得简单

聊天记忆是指在与用户的多轮对话过程中,能够记住之前的交互内容,从而提供更加连贯和个性化的回复。LangChain4j支持通过ChatMemoryProvider接口实现聊天记忆功能。

Spring Boot-Common On With You 448

PHP语言基础知识

PHP是一种免费开源的语言,用户可以自由获取最新的PHP核心引擎和扩展组件,甚至可以得到PHP核心引擎的源代码,并根据需求部署适合的PHP环境。

m0_73832905的博客 932

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

php基础试题整理

//放置在httpd.conf中的PHPIniDir指令指定的目录中

wjs_1433223的博客 6395

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

PHP 面试知识点整理归纳

全文已整理补充完毕,以后还会继续更新文章里面的错误,以及补充尚不完善的问题。 该篇文章是针对Github上wudi/PHP-Interview-Best-Practices-in-China资源的答案个人整理 lz也是初学者,以下知识点均为自己整理且保持不断更新,也希望各路大神多多指点,若发现错误或有补充,可直接comment,lz时刻关注着。 由于内容比较多,没有直接目录,请自行对照 Gi...

PHP学习日志——地雷 1万+

PHP教程,PHP入门教程大全(2021整理)

PHP教程主要内容涵盖了PHP基础知识、核心技术、高级应用以及项目实战。先从PHP基础学起,再学习PHP的核心技术,然后学习PHP的高级应用,最后学习开发一个完整项目。

chengxuyuanlaow的博客 4793

【转载】PHP学习资源整理

【转载】PHP学习资源整理 啊~,终于整理了这个世上最好语言的PHP学习资源,希望对在学习PHP的小伙伴有所帮助~ 我大概会 从以下五个方面整理PHP资源 ,其中前两个方面适合新手小白查看,如果你是非小白学习者可以直接查看后面三个,里面可以找到适合自己的资源; 1) PHP学习路径 :可以让新手学习者把握PHP学习方向,不迷茫; 2) ...

liNewman的博客 212

web基础入门和php语言基础入门 二

本篇PHP基础教程,讲了常见基础知识点,非常实用。但是,一门语言不是花个几分钟看一篇文章就能明白的,要多动手实践。本篇基础教程,给出了几个实例,要自己动手操作。另外,本篇教程,省略了一些其他的细枝末节,毕竟一门语言从0到1,需要自己花大量时间打磨。但这篇文章,从大的方面可以对这个语言有个极大的了解,从小的方面又可以学习一些基础知识点。但还缺乏你自己的练习,对Web安全和CTF来说,一定要先掌握一门语言,PHP好学易懂,然后要学python,开发属于自己的小工具。

Moyv的博客 1084

php在线查看word 接口_PHP学习资源整理

作者:林梓链接:https://zhuanlan.zhihu.com/p/24035779来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。啊~,终于整理了这个世上最好语言的PHP学习资源,希望对在学习PHP的小伙伴有所帮助~我大概会从以下五个方面整理PHP资源,其中前两个方面适合新手小白查看,如果你是非小白学习者可以直接查看后面三个,里面可以找到适合自己的资源;1)P...

weixin_39605414的博客 205

【旧代码整理】做的一个简单的php mvc框架

为了追求简洁高效、符合自己的习惯,做的一个简单的php mvc框架。

joyatonce 的博客 1095

php常用伪协议整理

本文主要整理渗透中常用的PHP伪协议

2302_79590880的博客 784

PHP学习资料整理技术的探讨

这就导致了一个问题,整理资料可以提高学习效率,使学习者能够更快地找到所需信息,减少无效搜索时间。通过遵循系统性、针对性、时效性和可访问性等原则,采用分类整理、建立索引、制作思维导图等方法,学习者可以高效地整理PHP学习资料,形成完整的知识体系,提高学习效率和学习效果。在当今这个信息爆炸的时代,PHP学习资料如雨后春笋般涌现,从入门到精通,从基础到进阶,各类资料琳琅满目。换言之,对于PHP学习者而言,如何高效整理这些资料,以便更好地进行学习和掌握,成为了一个亟待解决的问题。

2401_86114092的博客 512

php数组整理,PHP数组简单整理

本文主要和大家分享PHP数组简单整理,通过定义函数变量名可以找到函数:function aMethod() { echo "我是一个方法";}function bMethod() { echo "我是另外一个方法";}$myFunction = "aMethod";//定义变量$myFunction(); //由于变量后面有括号,所以找名字相同的function 函数。数组下标可以指定...

weixin_39611937的博客 173

php代码整理,php实用代码片段整理

本文整理归纳了php实用代码片段。分享给大家供大家参考,具体如下:一 从网页中提取关键词$meta = get_meta_tags('https://www.jb51.net/');$keywords = $meta['keywords'];// Split keywords$keywords = explode(',', $keywords );// Trim them$keywords = a...

weixin_31433527的博客 282

PHP中字符串的整理函数有,PHP中字符串函数整理(一)

PHP中字符串函数整理(一)字符串的截取、查找、替换(1)string chunk_split(string,length,end) 按照length步长分割字符串并在分割的字符串中间添加end ```$str = "this is test string!";echo chunk_split($str,2,"=");```输出结果:th=is= i=s =te=st= s=tr=in=g!=(2...

weixin_30991735的博客 140
上一篇: c#基础总结
下一篇: ThinkPHP 快速入门
freemindhack
博客等级 码龄13年 53粉丝 182原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值