首页
学习
活动
专区
圈层
工具
发布

php面试笔记(2)-php基础知识-常量和数据类型

回顾真题 PHP中字符串可以使用哪三种定义方式以及 各自的区别是什么?答案: 单引号 双引号 heredoc()和newdoc() 先来看看单引号的使用: 定义字符串的方式很简单,但是要注意几个常考点: 1.在单引号中,不能解析变量; 2.在单引号中,不能解析转义字符,只能解析单引号 和反斜线本身; 3.在变量和变量,变量和字符串,字符串和字符串之间可以用...php $str1 = "abc"; //用双引号定义字符串str $a = 18; $str2 = "小明今年{$a}岁 \n"; //双引号中可以解析变量,和转义字符 ?...> 我们要注意以下几个点: 1.双引号可以解析变量,变量可以使用特殊字符和{}包含; 2.双引号可以解析所有转义字符; 3.双引号也可以在变量和变量,变量和字符串,字符串和字符串之间可以用 ....在来看看heredoc()和newdoc()的使用 heredoc() 相当于双引号的作用,newdoc()类似于单引号的作用,当在处理大文本或html代码时可以使用,使用格式如下: <?

1.2K21

php中的双引号与单引号的基本使用

字符串,在各类编程语言中都是一个非常重要的数据类型 网页当中的图片,文字,特殊符号,HTMl标签,英文等都属于字符串 PHP字符串变量用于存储并处理文本, 在创建字符串之后,我们就可以对它进行操作。...我们可以直接在函数中使用字符串,或者把它存储在变量中 字符串是一个非常要的知识,在开发中,有的使用单引号,有的使用双引号,这个是有区别的 在PHP语言中声明字符串有三种方式 用单引号声明 用双引号声明...用字界符声明(这个需要输入非常大段的字符串时才使用,不常用) 单引号声明 用英文半脚的单引号,将字符串包起来,字符串变量用于包含有字符的值 变量包起来 双引号解析转义字符,单引号不解析转义字符,但单引号能解析'和\ 单引号效率要高于双引号,可以尽可能使用单引号 双引号和单引号可以互插,双引号中插入单引号,单引号中插入变量...双号和单引号可以互插 双号和单引号可以互插,双引号当中插入单引号,单引号当中插入变量,这个变量会被解析 <?

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP引号转义(解决POST,GET,Mysql数据自动转义问题)

    其实都挺好的 在处理mysql和GET、POST的数据时,常常要对数据的引号进行转义操作。 PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转。...PHP称之为魔术引号,这三项设置分别是 magic_quotes_gpc 影响到 HTTP 请求数据(GET,POST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。...该选项可在运行的时改变,在 PHP 中的默认值为 off。 magic_quotes_sybase 如果打开的话,将会使用单引号对单引号进行转义而非反斜线。...如果同时打开两个选项的话,单引号将会被转义成 ”。而双引号、反斜线 和 NULL 字符将不会进行转义。...PS:遇到问题,不要慌乱,要弄清问题原因,然后百度或者google下,就是找不到解决办法去论坛发帖求助的时候也知道是出了什么原因,这样高手看到也能一目了然。

    2.5K40

    【JavaScript】JavaScript 简介 ② ( JavaScript 书写方式 | 内联 JavaScript | 内嵌 JavaScript | 外部 JavaScript )

    中 的 onclick / onload / onmouseover 等事件 中 , 这种 JavaScrip 书写方式 称为 " 内联 JavaScript " ; 内联 JavaScrip 优缺点...与 HTML 结构混合在一起 耦合性 很高 ; 引号容易出错 , 尤其是 多层引号 嵌套匹配时 , 需要使用 双引号 与 单引号 交错使用 ; 代码示例 : onclick 属性值 写在 双引号 中..., 如果在 双引号中 写一行 JavaScrip 脚本 , 涉及到 字符串内容时 , 使用 单引号 ; 展示效果 : 刷新页面后 , 即可弹出 对话框 : 3、外部 JavaScript 首先 , 将 JavaScript 脚本代码写在一个 单独的 .js 源码文件中 , // 3....src 属性来引用它 , js"> 这种书写方式称为 " 外部 JavaScript " ; 注意 : 引入 js 文件时 , <script src=

    80610

    JS中一定要了解的数据类型和数据转换

    一、数据类型 前言 Js中的类型只有6种,其中基本数据类型有5种分别为string,number,boolen,null,undefined,引用类型有一种,就是object,object是一个大的综合体...,在JS中除了那5个基本数据类型以外,其他的一切皆对象。...单引号和双引号均可解析转义字符** **2. 单引号和双引号均不能解析变量** **3. 变量与字符串,变量与变量要使用+来拼接,区分开PHP** **4....单引号和双引号可以互相嵌套,如果单引号中药嵌套单引号,需要将单引号转义,同理,双引号相同** //单引号和双引号为啥不能解析说明 var a = 10;...它不像PHP,有个$直接可以区分开变量和字符串 alert('a'+ a); //+连接说明 alert('hello' + 3 + 'world'); //hello3world

    1.1K00

    详谈PHP基础与JS操作的区别(必看篇)

    2.如果定义字符串变量,等号后面的值需要加双引号或单引号) PHP定义变量: $a = 5;  $a = "hello";  $a = 的字符串内容 //也可放HTML代码  ...A;                  (注意:1.如果定义整数或小数的变量,等号后面的值直接写     2.如果定义字符串变量,等号后面的值需要加双引号或单引号) 字符串拼接 JS中字符串拼接:"+"...world" PHP特有的变量特征     // 转义字符:一般用在字符串里面,用来输出特殊的内容     //  " 输出双引号    t 制表符    n 换行  eg:$s = "wo\"rld"...中类型转换/【当下浏览的服务器和开发工具是哪些】/   1....PHP中的特殊用法 1.变量取地址   $a = "hello";   $b = &$a;  //&代表取变量的地址   echo($b);  //输出结果为hello 2.可变变量   $s

    1.4K10

    第128天:less简单入门

    在程序员的眼里,CSS是很头痛的事情,它并不像其它程序语言,比如说PHP、Javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述,写起来相当的费事,而且代码难易组织和维护.../script> 2、less的css样式处理 less内联样式和外联样式 基于我们现在使用的是浏览器端进行预编译,因此Less可用于内联样式和外联样式当中。...*/形式作为最终输出 */ 2、变量  Less中的变量有以下规则: 以@作为变量的起始标识,变量名由字母、数字、_和-组成 没有先定义后使用的规定; 以最后定义的值为最终值; 可用于rule值、rule...属性、rule属性部件、选择器、选择器部件、字符串拼接; 定义时 "@变量名: 变量值;" 的形式;引用时采用 "@变量名" 或 "@{变量名}" 的形式; 存在作用域,局部作用域优先级高于全局作用域。...less源码 1 @color: color; 2 @dialog: .dialog; 3 @suffix: fix; 4 // 空格将被忽略,若要保留空格则需要使用单引号或双引号

    1.1K40

    渗透测试之黑白无常“续”

    后台为默认后台,但是账号却不再是弱口令,在尝试了大量的弱口令和常用口令后,都未成功,针对前台的一系列测试也并没有取得一定的成功,测试到这一时陷入僵局。...使用stripslashes删除反斜杠,根据变量追踪变量esc_html在get方法中默认是true,所以这里的if也会进入,将变量value是要esc_html函数进行处理,WordPress的esc_html...函数是将 & “ ‘(小于号,大于号,&,双引号,单引号)编码,转成HTML 实体,已经是实体的并不转换。.../*/**/*/(5)))XOSi) 就不会被拦截,将SELECT和SLEEP等关键词使用内联注释的方式给包裹起来,就可以绕过安全狗的检测。...这里就使用内联注释来处理and,最终的payload如下: http://192.168.121.128/wordpress-5.2.3/wp-admin/admin-ajax.php?

    2.3K10

    从 RegExp 构造器看 JS 字符串转义设计

    2、表单输入项的字符串赋值给变量时也无需转义 假设页面中存在输入框 ,在输入框中输入字符 \w+\.ke\.qq\.com,则通过 JS 获取到的值可以直接传入 RegExp...3、JS 代码中的转义处理 另外一种可能用到 RegExp string 参数的场景是:基于 JS 逻辑,动态创建正则表达式。例如正则表达式 /\w{3}/ 中的数字 3,是通过某个变量来传递的。...为了解决模板字符串的解析和转义问题,ES6 模板字面量中引入了反引号(`)和 tag function(知名「CSS in JS」 库 styled-components 中大量使用了这种语法)。...回过头来看,JS 正则表达式构造器的参数设计问题,其实不是 RegExp 引起的,而是 JavaScript String 的设计缺陷:单引号和双引号非但没有参考 PHP/Shell 之类的设计,反而给前端社区留下...「应该使用单引号还是双引号」的代码风格争论。

    13.5K80

    PHP学习笔记(一)

    PHP中单双引号字符串的区别 我所学的教程中提到这个经常会在面试题中出现,建议大家背诵并多实验。...2.双引号里面字符和变量的拼接 这里主要说明一下在双引号里面插入变量时,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。可以在后面接上特殊字符,例如空格等分开。 单引号当中要插入一个单引号显示出来的时候,也可以在单引号声明的字符串中的单引号前面加上(反斜线,转义字符),将单引号的意义(限定字符区间)去掉。 6.双引号和单引号互插 当双引号当中插入单引号,单引号中插入变量,这个变量会被解析! <? $aaa="哈哈哈"; $vvv="嘿嘿嘿'$aaa'呵呵呵"; echo $vvv; ?...> 执行后输出如下: 7.字符串的拼接(.)点 之前说过双引号解析变量时用空格隔离变量,或者用{}来解析变量 但是双引号没有单引号的效率高,并且当我有多个变量时怎么办?

    1.4K20

    web前端开发初学者十问集锦(3)

    实测,在Chrome中有效果,在IE9以及Fire Fox中没有效果。 8.js(JavaScript)中单引号和双引号有什么区别? 一个Web大神告诉我说没什么区别,我实验了,还没发现有什么区别?...("'+lv+'\n");//双引号包含单引号 alert(''+lv+'\n');//单引号包含双引号 alert(""+lv+"\n");//双引号包含双引号 上面的代码输出至控制台如下图所示: image.png 从上面的结果我们可以得出两个结论: (1)js单引号和双引号基本上没有区别,只是在同时使用的时候,有些细节要注意上面的细节...; (2)js中支持字符串中包含变量,即”+var+”这种运算。...简单的来说就是定时器时异步加载的,而js是单线程的,在声明一个定时器之后,这个定时器会暂时保存在任务队列中,当js的同步代码加载完毕之后再执行任务队列中异步的定时器。

    1.8K20

    JavaScript基础:js介绍、变量、数据类型以及类型转换

    一般将 JavaScript 代码写在独立的以 .js 结尾的文件中,然后通过 script 标签的 src 属性引入 //demo.js 和输入也可理解为人和计算机的交互,用户通过键盘、鼠标等向计算机输入信息,计算机处理后再展示结果给用户,这便是一次输入和输出的过程。...let 时的注意事项: 允许声明和赋值同时进行 不允许重复声明 允许同时声明多个变量并赋值 JavaScript 中内置的一些关键字不能被当做变量名 以下是使用 var...字符串类型 通过单引号( '') 、双引号( "")或反引号包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。...注意事项: 无论单引号或是双引号必须成对使用 单引号/双引号可以互相嵌套,但是不以自已嵌套自已 必要时可以使用转义符 \,输出单引号或双引号 <!

    42810

    WordPress 的 PHP 编码规范

    引号 正确的使用单引号和双引号,如果字符串中不包含变量的时候,则使用单引号,永远不要在字符串中转移引号,而是通过切换引号类型,比如: echo '单引号字符串是最简便的,因为相比双引号,单引号字符串只有两个元序列需要转移:\' 和 \\。...PHP 开始和结束标记 在 HTML 模板中如果要嵌入多行 PHP 代码时,PHP 开始和结束标记都要自己单独一行。 正确(多行): function foo() { ?...$wpdb->prepare() 是一种处理 SQL 查询的转义、引用和整数转换的方法。 它使用 sprintf() 格式的子集。...HooK 标签中使用的变量应该用大括号 { 和 } 括起来,完整的外部标签名称用双引号括起来。这是为了确保 PHP 可以正确解析内插字符串中给定的变量。

    6.3K40

    PHP定义字符串的四种方式

    1、简介   在PHP中这门语言中,因为是弱类型语言,因此使用变量时不需提前定义即可使用。   我们在使用php进行开发的时候,大多数使用双引号、单引号进行定义字符串。...从上面例子中我们可以明显看到,变量是没有被解析的;同时带反斜杠的转义字符仅仅只有单引号、反斜杠被转义输出了,其他的是直接输出。   ...2.2、双引号   在双引号中,遇到$将会解析该变量;   双引号中会转义反斜杠的转义字符; 转义字符代码 转义字符的含义 \ " 双引号 \ ' 单引号 \ \ 反斜杠 \ n 换行符 \ r 回车符...由上面例子我们可以知道,双引号中的变量被解析了,替换成字符串;其他带反斜杠的转义字符都进行了相应的转义。   ...2、对于转义的支持   3、性能速度问题,由于双引号中的字符串需要检测是否含有$符号修饰的变量,因此从理论上讲,单引号是比较快的。

    1.1K20

    从多个基础CMS入坑代码审计

    下一处 这里的id变量未被单引号包裹,但它在传值时添加了intval函数,这意味着字符串无法上传,因此这个也是无法成功注入的。...PASS XSS ad_js.php 这个ad_id变量可控,而且它没有单引号包裹,那不就意味着我们可以随意构造后面的语句,不仅仅是SQL注入,XSS应该也是可以的,我们构造payload如下 1...lit_pic参数 发现这个lit_pic变量 然后跟进变量的话发现它是只出现在这里的,这意味着它这个变量是没有其他过滤的,这里我们也不需要输入单引号或者双引号,直接让lit_pic等于我们想删除的文件夹名即可实现任意文件删除...这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。 也就是说对单引号、双引号、反斜线和NUL进行了转义,这里的话我们的路径一般用的是....install/index.php 在此处发现有update语句和可控的变量password和username,查看这两个变量的传入方式 可以发现是直接传入的,没有什么过滤,那么这里就可以在user

    96290

    PHP(3):数据类型

    当转换为 boolean 时,以下值被认为是 FALSE: ● 布尔值 FALSE ● 整型值 0(零) ● 浮点型值 0.0(零) ● 空白字符串和字符串 "0" ● 没有成员变量的数组...如果内容中必须要出现单引号或双引号的话,那么就必须使用转义符!...对于双引号和单引号,我们格外来强调一下,如果是想在浏览器的效果中看到双引号或单引号,那么在PHP源代码中的双引号或单引号既可以通过HTML实体来表示,也可以通过转义符来表示(建议使用HTML实体);...而如果是想在浏览器的源代码中得到双引号或单引号,那么只能通过转义符来表示了!...再来看看浏览器的源代码中的双引号或单引号的处理案例吧! PHP代码: <?

    2.1K10

    看代码学安全(12)误用htmlentities函数引发的漏洞

    但是这部分代码只处理了 $value 变量,没针对 $key 变量进行处理。...代码时,不能在字符串中直接写实体字符,PHP提供了一个将HTML特殊字符转换成实体字符的函数 htmlentities()。...注:htmlentities() 并不能转换所有的特殊字符,是转换除了空格之外的特殊字符,且单引号和双引号需要单独控制(通过第二个参数)。...该函数位置在 component/dm-config/global.common.php 文件中,截取关键代码如下: ? 这个函数是调用 htmlentities 函数针对输入的数据进行处理。...新版修复的时候将可选参数修改为 ENT_QUOTES ,这个参数的作用就是过滤单引号加双引号,我们来看看下面这个例子,就很容易明白了这个参数的作用了。

    1.2K20

    从多个基础CMS中学习代码审计

    下一处 这里的id变量未被单引号包裹,但它在传值时添加了intval函数,这意味着字符串无法上传,因此这个也是无法成功注入的。...PASSXSSad_js.php 这个ad_id变量可控,而且它没有单引号包裹,那不就意味着我们可以随意构造后面的语句,不仅仅是SQL注入,XSS应该也是可以的,我们构造payload如下1 变量 然后跟进变量的话发现它是只出现在这里的,这意味着它这个变量是没有其他过滤的,这里我们也不需要输入单引号或者双引号,直接让lit_pic等于我们想删除的文件夹名即可实现任意文件删除...这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。 也就是说对单引号、双引号、反斜线和NUL进行了转义,这里的话我们的路径一般用的是....install/index.php 在此处发现有update语句和可控的变量password和username,查看这两个变量的传入方式 可以发现是直接传入的,没有什么过滤,那么这里就可以在user变量处尝试

    60210

    PHP 基本数据类型

    上篇教程,学院君给大家介绍了 PHP 中变量和常量的声明和使用,并且提到,PHP 是弱类型语言,在声明变量时,无需指定类型,变量值对应的数据类型会在运行时进行判断,所以虽然无需指定类型,但实际上还是有类型的...字符串类型定义 在 PHP 中,字符串可以通过单引号或者双引号定义,假设「Laravel 精品课」是一本书,这本书的书名和作者可以通过字符串类型变量进行定义,在 php_learning/basic 目录下新建一个...单引号与双引号的区别 通过上述代码还可以看到单引号字符串中引用变量不会对变量值进行解析,如果是双引号,则会对引用变量值进行解析: if (is_string($name)) { echo "\"...PHP_EOL; } 此外,由于我们在双引号字符串中引入了双引号,所以需要通过转义符 \ 对其进行转转义才能正常输出,双引号字符串中引用单引号则不需要转义,上述代码的执行结果如下: ?...由于双引号字符串会尝试对其中包含的 PHP 变量进行值解析,所以性能比单引号字符串差一些,因此日常可以用单引号字符串的地方,尽量用单引号字符串,除非某些场景必须使用双引号字符串,比如像上面那样包含转移字符

    2.1K10

    php的一些编写代码的好习惯

    php的扩展(C语言),在底层中完成的,所以在运行中不需要被zend引擎重新解释,速度更快, 所以,多使用内置函数,能让php的运行速度更快一些 二:尽量不使用php错误抑制符 php中,@符号是用于在单个语句中预制报错的...三:关于双引号和单引号 大家在初学PHP的时候,大家都会说, 单引号的性能比双引号好,所以建议大家使用单引号, 这句话是没有错的,但是,我们应该根据实际情况,来选择适合的,例如: 的消耗少量的性能,用于换取代码的可读性 下面是关于单引号,双引号的性能测试: php5.4-cli: ?...可看出,单引号和双引号在纯字符串的性能差距是非常少的(测试有误差),而在多变量情况下时,双引号的性能比单引号好了很多, 所以,在变量多的情况下,大胆的使用双引号吧 到这里,还是先说一句:"实践是检验真理的唯一标准...六:尽量避免php报错 在很多时候,可能大家为了方便,把warning和notice的这些不会影响php执行的错误直接屏蔽,不去管它, 但是,只要发生了报错,在php底层,都是会走php异常流程的(各种底层的错误处理

    53910
    领券