
批改狀態(tài):合格
老師批語:這幾種循環(huán)一定要合理使用!
URL處理函數(shù)
<?php
//URL處理函數(shù)
//http://php.edu/070/demo1.php?id=1&name=張三
//print_r($_GET);
print_r($_SERVER['QUERY_STRING']);
echo '<br>';
//parse_str();將字符串解析成變量
parse_str($_SERVER['QUERY_STRING'],$array);
print_r($array);
echo '<br>';
// parse_url函數(shù)用于解析整個(gè)URL,并返回其組成部分
print_r(parse_url('http://php.edu/070/demo1.php?id=1&name=admin'));
```
//base64_encode():將二進(jìn)制數(shù)據(jù)進(jìn)行編碼后加密傳輸,圖片
$img = base64_encode(file_get_contents(‘1.jpg’));
echo $img;
```
<?php
echo "<img src=\"data:image/jpeg;base64,{$img}\">";
<?php
file_put_contents('123.jpg',base64_decode($img));
echo "<img src=\"123.jpg\">";
<?php
echo md5('1234'),'<br>';//返回一個(gè)32位的字符串
echo sha1('1234'),'<br>';//返回一個(gè)40位的字符串
echo md5(sha1(md5('1234')));
<?php
//md5_file():只要這個(gè)文件被更新過,它的返回值就會發(fā)生變化
echo 'demo1.php的md5 = ' . md5_file('demo1.php') . '<br>';
file_put_contents('md5file.txt',md5_file('demo1.php'));
if(md5_file('demo1.php') === file_get_contents('md5file.txt')){
echo '文件沒有更新過';
}else{
echo '文件已經(jīng)被修改過';
}
<?php
$arr = ['中國','俄羅斯','巴基斯坦'];
printf('<pre>%s</pre>',print_r($arr,true));
//關(guān)聯(lián)數(shù)組,鍵的類型是字符串
$arr = ['姓名'=>'張三','年齡'=>20,'性別'=>'男','身高'=>170];
//關(guān)聯(lián)數(shù)組的元素訪問與數(shù)組中的位置無關(guān),只與它的鍵名相關(guān)
printf('<pre>%s</pre>',print_r($arr,true));
<?php
$arr = [];
$arr[] = '諸葛亮';
$arr[] = '劉備';
$arr[] = '關(guān)云長';
$arr[] = '張飛';
printf('<pre>%s</pre>',print_r($arr,true));
$arr = [];
$arr['軍師'] = '諸葛亮';
$arr['主公'] = '劉備';
$arr['前將軍'] = '關(guān)云長';
$arr['車騎將軍'] = '張飛';
printf('<pre>%s</pre>',print_r($arr,true));
$arr = [
0=>['姓名'=>'張三','年齡'=>20,'性別'=>'男'],
1=>['姓名'=>'王紅','年齡'=>21,'性別'=>'女'],
2=>['姓名'=>'劉淑安','年齡'=>20,'性別'=>'女'],
];
printf('<pre>%s</pre>',print_r($arr,true));
<?php
//數(shù)組的遍歷
//1.使用數(shù)組指針逐個(gè)遍歷
$arr = ['姓名'=>'張三','年齡'=>'25','性別'=>'男','身高'=>'170','體重'=>'130'];
//current():獲取指針當(dāng)前位置的數(shù)組元素的值value
//key():獲取指針當(dāng)前位置的數(shù)組元素的鍵key
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
next($arr);//指針下移
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
next($arr);
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
next($arr);
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
next($arr);
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
prev($arr);//指針前移
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
end($arr);//指針移到最后一個(gè)元素的位置
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
reset($arr);//指針復(fù)位,指針回到第一個(gè)元素的位置
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
//用循環(huán)來實(shí)現(xiàn)遍歷
while(true){
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
if(next($arr)) continue;
else break;
}
//for循環(huán)
reset($arr);
for($i = 0;$i < count($arr);$i++){
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
next($arr);
}
//foreach循環(huán)
foreach($arr as $key => $value){
echo "['{$key}'] => $value <br>";
}
//二維數(shù)組的遍歷
$arrs = [
['姓名'=>'劉莉','性別'=>'女','年齡'=>'20'],
['姓名'=>'周平','性別'=>'男','年齡'=>'22'],
['姓名'=>'王苒','性別'=>'女','年齡'=>'19']
];
foreach($arrs as $value){
foreach($value as $key => $arr){
echo "['{$key}'] => $arr<br>";
}
}
echo '<hr>';
foreach($arrs as $value){
printf('姓名=%s,性別=%s,年齡=%s<br>',$value['姓名'],$value['性別'],$value['年齡']);
}
//list()解構(gòu)/解析:索引數(shù)組
list($a,$b,$c)=[1,2,3];
echo $a,$b,$c;
echo '<hr>';
//list()解構(gòu)/解析:關(guān)聯(lián)數(shù)組
list('a' => $a,'b' => $b,'c' => $c)=['a' => 1,'b' => 2,'c' => 3];
echo $a,'===>',$b,'===>',$c;
echo '<hr>';
foreach($arrs as list('姓名'=>$name,'性別'=>$sex,'年齡'=>$age)){
printf('姓名=%s,性別=%s,年齡=%s<br>',$name,$sex,$age);
}
$obj = new stdClass;
$obj ->name ='孫悟空';
$obj ->sex ='男';
$obj ->age ='1000';
foreach ($obj as $key => $value){
echo "$key => $value<br>";
}
parse_url函數(shù)用于解析整個(gè)URL,并返回其組成部分
parse_str();將字符串解析成變量
base64_encode():將二進(jìn)制數(shù)據(jù)進(jìn)行編碼后加密傳輸
file_put_contents() 函數(shù)把一個(gè)字符串寫入文件中
md5()sha1()加密函數(shù)
索引數(shù)組,默認(rèn)鍵值從0開始
關(guān)聯(lián)數(shù)組,鍵值是字符串
next();指針下移 prev();指針前移 end();指針移到最后的位置 reset();指針復(fù)位
current():獲取指針當(dāng)前位置的數(shù)組元素的值value
key():獲取指針當(dāng)前位置的數(shù)組元素的鍵key
continue命令會終止循環(huán)體的單次循環(huán),代碼并繼續(xù)往下執(zhí)行下去
break會終止循環(huán)體的遍歷
while循環(huán)遍歷數(shù)組
while(true){
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
if(next($arr)) continue;
else break;
}
for循環(huán)遍歷數(shù)組
for($i = 0;$i < count($arr);$i++){
printf('[\'%s\'] => %s<br>',key($arr),current($arr));
next($arr);
}
foreach循環(huán)遍歷數(shù)組
foreach($arr as $key => $value){
echo "['{$key}'] => $value <br>";
}
foreach循環(huán)遍歷二維數(shù)組
foreach($arrs as $value){
foreach($value as $key => $arr){
echo "['{$key}'] => $arr<br>";
}
}
foreach($arrs as $value){
printf('姓名=%s,性別=%s,年齡=%s<br>',$value['姓名'],$value['性 別'],$value['年齡']);
}
list()解構(gòu)/解析遍歷數(shù)組
foreach($arrs as list('姓名'=>$name,'性別'=>$sex,'年齡'=>$age)){
printf('姓名=%s,性別=%s,年齡=%s<br>',$name,$sex,$age);
}
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號