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($iecho $i++,"
";
}
$i=0;
while(++$iecho $i,"
";
}
//===========================================
while(){}
$i=0;
while(++$iif($i==5){
break;
continue;
}
echo $i,"
";
}
////===========================================
//php里的超级全局变量
$num =99;
function t(){
echo $num;
//}
////在这个调用过程,$num为null,因为函数内部没有定义$num
////且在php中,并不会像js一样,沿着作用域往外寻找。
t();
///===========================================
//在php,有一类特殊的变量,叫做超级全局变量。
//不管你的在函数中还是在类内部,也不管代码包装了多深
//都能够访问到该变量。
function a(){
echo $_GET['title'];
}
a();
///===========================================
//想用php做留言本
//关于逻辑运算符
var age= 2||3;
alert(age);
var_dump($age);
//在php中,逻辑运算返回true/false
$age = 2||3;
var_dump($age);
$a = 3;
$b= 2;
if($a=9 || $b=1){
$a +=1;
$b +=1;
}
echo $a,"
",$b;
//php中的函数与js中的函数的不同之处
//1. 在js中,可以多次声明同名函数
//但是在一个php页面中,不能多次同名函数
//2. 在js中,函数名区分大小写
//在php中,函数名不区分大小写(类方法也不区分)
///=========================================== 返回
//3. 在php中,调用函数时的参数个数必须与声明函数的参数一致
$a = 1;
$b = 2;
$c = 3;
function t($a,$b,$c){
echo $a+$b+$c;
}
t(1,2,3);
t(1,2);
///===========================================
//4. 在php的函数,函数声明时,某个参数可以有“默认值”
function t($a,$b,$c=0){
echo $a+$b+$c;
}
t(1,2);
?>

要保護應用免受與會話相關的XSS攻擊,需採取以下措施:1.設置HttpOnly和Secure標誌保護會話cookie。 2.對所有用戶輸入進行輸出編碼。 3.實施內容安全策略(CSP)限制腳本來源。通過這些策略,可以有效防護會話相關的XSS攻擊,確保用戶數據安全。

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

theSession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceisesneededeededeedeedeededto toavoidperformance andunununununexpectedLogOgouts.3)

在PHP中,可以使用session_name()函數配置會話名稱。具體步驟如下:1.使用session_name()函數設置會話名稱,例如session_name("my_session")。 2.在設置會話名稱後,調用session_start()啟動會話。配置會話名稱可以避免多應用間的會話數據衝突,並增強安全性,但需注意會話名稱的唯一性、安全性、長度和設置時機。

會話ID應在登錄時、敏感操作前和每30分鐘定期重新生成。 1.登錄時重新生成會話ID可防會話固定攻擊。 2.敏感操作前重新生成提高安全性。 3.定期重新生成降低長期利用風險,但需權衡用戶體驗。

在PHP中設置會話cookie參數可以通過session_set_cookie_params()函數實現。 1)使用該函數設置參數,如過期時間、路徑、域名、安全標誌等;2)調用session_start()使參數生效;3)根據需求動態調整參數,如用戶登錄狀態;4)注意設置secure和httponly標誌以提升安全性。

在PHP中使用會話的主要目的是維護用戶在不同頁面之間的狀態。 1)會話通過session_start()函數啟動,創建唯一會話ID並存儲在用戶cookie中。 2)會話數據保存在服務器上,允許在不同請求間傳遞數據,如登錄狀態和購物車內容。

如何在子域名間共享會話?通過設置通用域名的會話cookie實現。 1.在服務器端設置會話cookie的域為.example.com。 2.選擇合適的會話存儲方式,如內存、數據庫或分佈式緩存。 3.通過cookie傳遞會話ID,服務器根據ID檢索和更新會話數據。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)