php中单引号与双引号的区别?
1. 由下可看出,双引号的变量是解析并输出,而单引号的变量不解析。
2.单引号的解析速度比双引号的快
3. 对于单引号来说,只有两个转义 \',\\
4. 除了上述两个转义字符,其他都原样输出。
5. 对于双引号来说,可转义字符除\\,\',\"之外,还有\t, \r , \n 等
6.除了单引号和双引号用来声明字符串变量外,还有heredoc方式
程序代码:
//$age = 22;
//$str1 = '他今年 $age 岁'; //''原样输出
//$str2 = "他今年 $age 岁"; //""要解析里面的变量 即输出22
//echo $str1,"
",$str2;
php中的注释
(一) 以//开始.
(二) 以#开始.
#这是shell单行注释风格
(三) 多行注释有一种以/*开始以 */结束
php中的注意事项
一. 在js中,一个语句如果单占一行的话,在行尾可以不加;号
二. 但是,在php加,必须每一行后面都要加分号
虽然在整个php的最后一句例外,但是强烈建议也加上
三 . 对于纯php页面,?>是可以不写的
而且,对于不直接运行,而是被别的页面所包含的文件,往往还推荐结束不加?>
这样包含的页面更快执行速度更快
php中的变量
1. php变量有8种
2. 整型、浮点型、布尔型、字符串型、NULL型、数组型、对象型、资源型
3. 在js中,声明变量用var 变量名[= 值],在php中声明变量,直接变量名=值;
4. 在php中变量命名规范
5. 变量的名字由“字母”、下划线、数字、组合而成。并且数字不能开头
6. 在php中变量前面有一个‘$'标记
7. echo 不是一个函数,是一种语法结构。
8. 可以把变量打印出来
9. 要打印多个变量时,用 ','隔开
10. 变量的传值
11. 引用传值 和 赋值传值
15. 字符串 类型
变量和常量
(一)常量
变量可以随时重新赋值
//$age = 22;
//$age = 23;
//echo "
",$age;
(二)变量和常量的区别?
1. 它们的声明方式不同
2. 而常量一旦声明,不能改变其值
define('PI',3.14);
PI =3.23;语法错误
echo "
",PI;
3. 变量可以销毁,而常量一旦主义也不能销毁
unset($age);
var_dump($age);
4.常量是不能注销的
unset(PI); //语法错误,不允许注销
echo PI;
5. 变量有其作用域,函数内部默认情况访问不到外部的变量,
而常量,一旦定义,无论是在全局定义,还是在函数内部主义。
在页面的任意位置都可以访问到。
(三) 变量与常量的命名规范
1.常量的命名规范,从语法角度和变量是一样的。
允许是字母、数字、下划线的组合,并且数字不能开头
2. 从习惯角度讲:一般常量用“大写”
//define('SF',342);
//echo SF; //最新的版本已经对常量名区分大小写
(四)常量的值允许是哪几种?
1. 只能把标量型(单一型)赋给常量;
2. 不能把复合型,如数组,对象赋给一常量。
3. 资源型 如果赋给常量,如引来一些不可预料的错误。
代码如下:
复制代码 代码如下:
1 define('AGE',22);
2 define('HEI',343.234);
3 define('ROOT','D:/www');
4 define('LOCK',true);
5 define('NON',NULL);
6 echo AGE,HEI,ROOT;
7 var_dump(LOCK);
8 var_dump(NON);
php中的控制结构
(一)任何程序,都离不开,变量,表达式,控制结构
(二)在php里,else if可以连着写,在js里不允许,我们推荐规范的书写,即esle if 隔开。
(三)在php中,变量的作用域并不会像js一样,沿着作用域往外寻找
(四)在php,有一类特殊的变量,叫做超级全局变量。不管你的在函数中还是在类内部,也不管代码包装了多深
都能够访问到该变量。
php数组与js数组
(一)在js创建数组的两种方法
(二)在js中数组的索引永远是从0开始逐一递增,中间没有空档
1. var arr=new Array(1,2,3,4);
2. var arr= [1,2,3]
(三)在php中创建数组
1. 但是在php中,数组的索引是非常灵活的
2. 可以是数字,也可以是字符串
3. 甚至也可以是数字和字符串混合
4. 如果索引部分指定了数字索引
5. 又有某个单元没有指定索引
6. 则取该单元之前曾经出现的最大的数字索引值然后+1,作为其键值
php创建数组如下:
复制代码 代码如下:
$arr=array(1,2,3);
print_r($arr);
//===========================================
$arr=array(10=>'赵','adfdssd'=>'钱','孙','name'=>'张三丰');
print_r($arr);
7. 在php中,如何引用数组的单元值,关键靠索引
8. 而索引是数字索引
//echo $arr[10];
9. 如果是字符串索引,必须要求加单引号,如果不加单引号它先当着常量来处理
//define('name','adfdssd');
//echo $arr[name];
(四)关联数组与索引数组
1. 索引既可可能是纯数字,也可能是字符串,也有可能是字符串+数字混合
2. 如果索引是纯数字,就叫'索引数组';
3. 否则就叫"关联数组";
(五) php中的函数与js中的函数的不同之处
1. 在js中,可以多次声明同名函数
2.但是在一个php页面中,不能多次同名函数
3. 在js中,函数名区分大小写
4.在php中,函数名不区分大小写(类方法也不区分)
5. 在php中,调用函数时的参数个数必须与声明函数的参数一致
6. 在php的函数,函数声明时,某个参数可以有“默认值”
以上所有知识点的代码展示
复制代码 代码如下:
//================================================ 返回原处
//2. 整型、浮点型、布尔型、字符串型、NULL型
$age = 22;
$weight = 75.23;
$name ='张三';
$money = false;
$house = null; //相当于js中的undifined
echo $age,$weight,$money,
//================================================ 返回原处
//10. 变量的传值
$age =22;
$nian =$age;//把$age的值读取出来,赋给$nian
$nian= 24;
echo $nian,'----',$age;
//================================================
//11. 引用传值赋值传值
$money =10000;
$credit = &$money; //声明$credit变量,并把credit指针指向money的存储空间
$credit = 5000;
echo $credit,'--------',$money;
unset($credit);
echo $credit;
//================================================
//字符串 类型
$str1 = 'hello';
$str2 = "world";
echo $str1,$str2,"
";
//================================================
$age = 22;
function t(){
var_dump($age);
}
t();
define('HEI',88.63);
function s(){
var_dump(HEI);
}
s();
// 注:php中的函数不能重复声明,函数里的变量包得比较严,只不函数内起作用。不会跑到外面作用
//5.对于以上情况,用变量,常量都行,但是我们选择常量。
//理由:一是ROOt,被经常引用
//二是:如果用变量,$ROOT ='a';极有可能在多人开发过程中被改变值
//用常量也有不好的地方:
//常量一旦定义就不会被销毁
//常量始终点内在里,没法销毁。
//=====================================================
//在php中,变量名也是可变的。
$talk='hello';
$heat= 'kill you';
$love= 'love';
echo $love,"
";
$action = 'talk';
$t ='action';
echo $$$t;
//=====================================================
//提前预告:不仅变量名,函数名也是可变的,类名也是可变 的。
////常量名也要变一变
define('PI',3.14);
define('HEI',342);
$cons= 'PI';
echo $cons,"
";
echo constant($cons); //constant是把变量的值当成常量的名字,引用常量
//===================================================== 返回原处
//php中的控制结构
//任何程序,都离不开,变量,表达式,控制结构
if ,if/else,if/else if/ esle
$num=3;
if($num >2){
echo '在php里,3也大于2',"
";
}
if($num >5){
echo '3大于5',"
";
}else{
echo '3不大于5';
}
//
if($nun==1){
echo '今天是星期一';
}else if($num ==3){
echo '今天是星期三';
}else{
echo '非一非二非三';
}
////在php里,else if可以连着写,在js里不允许
//我们推荐规范的着写,即esle if 隔开。
//=====================================================
switch case 语句
$num = 3;
switch($num){
case 1:
echo '今天星期一',"
";
break;
case 2:
echo '今天星期二',"
";
break;
case 3:
echo '今天是星期三',"
";
break;
default:
echo '不知道';
break;
}
/*
假设某人有100,000现金,每经过一次路口需要进行一次资费。
资费规则为当他现金大于50000时,每经过一次路口时需要交5%现金,如果现金小于等于
等于50000时每次交5000,请写一程序计算此人可以经过多少次这个路口
*/
for ($m =100000,$num=0;$m>=5000;$num++){
if ($m>50000){
$m*=0.98;
}else{
$m-=5000;
}
}
//===========================================
//while ,do/while
//用while 打印$1-9;
$i =1;
while($i<10){
echo $i++,"
";
}
$i=0;
while(++$i<10){
echo $i,"
";
}
//===========================================
while(){}
$i=0;
while(++$i<10){
if($i==5){
break;
continue;
}
echo $i,"
";
}
////===========================================
//php里的超级全局变量
$num =99;
function t(){
echo $num;
/

使用数据库存储会话的主要优势包括持久性、可扩展性和安全性。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更传统且易实现,但需谨慎配置以确保安全性。

要保护应用免受与会话相关的XSS攻击,需采取以下措施:1.设置HttpOnly和Secure标志保护会话cookie。2.对所有用户输入进行输出编码。3.实施内容安全策略(CSP)限制脚本来源。通过这些策略,可以有效防护会话相关的XSS攻击,确保用户数据安全。

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显着提升应用在高并发环境下的效率。

thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceIsiseededeedeedeedeedeedeedto to to avoidperformance andununununununexpectedLogOgouts.3)

在PHP中,可以使用session_name()函数配置会话名称。具体步骤如下:1.使用session_name()函数设置会话名称,例如session_name("my_session")。2.在设置会话名称后,调用session_start()启动会话。配置会话名称可以避免多应用间的会话数据冲突,并增强安全性,但需注意会话名称的唯一性、安全性、长度和设置时机。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

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

Dreamweaver CS6
视觉化网页开发工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能