程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP半路出家(2)

PHP半路出家(2)

編輯:關於PHP編程

函數是每個編程語言必不可少的,我得了解了PHP有什麼不同
最犀利的就是返回類型,不用在函數聲明注明
唯一需要注意的是你得用對應的類型接收返回值~
C++裡的老面孔

按引用傳值"&"
默認參數
遞歸函數---畫表單的利器!
 

 

英雄不問出處,弱類型造就的是有靈魂的數組
 

賦值方式:
 
$say = array("Chinese" , "English" , "French");
//相當於
$say[0] = "Chinese"  ;    $say[1] = "English"  ;   $say[2] = "French"   ;

 


 $say = array("China"=>"Chinese" , "England"=>"English" , "France"=>"French");

//相當於

$say["China"] = "Chinese"  ;

$say["England"] = "Chinese"  ;

$say["France"] = "Chinese"  ;
 

 

 

PHP的數組不同於java的數組,是一種綜合了數組和map的感覺

$myArray = array(0=>"第0個","2"=>"2了","這都行"=>"這真可以");

echo $myArray[0];                  //正常模式

echo $myArray[1];                 //沒有值的按空算

echo $myArray[2];                 //會輸出"2了"

echo $myArray["2"];              //也會輸出"2了"

echo $myArray["這都行"];           //會輸出"這真可以"
 

索引自動遞增

$myArray[] =0;

$myArray[] =1;

$myArray[] =2;

$myArray[] =3;

echo $myArray[3];     //會輸出3
 

強大的list()可以提取數組---涉及匹配函數explore(),以後再說~
 

Range()函數也有篩選的作用
$myArray =  range("a", "z",3);    //從"a"到"z",每隔3個輸出一個

//輸出a d g j m p s v y

 

數組拓展 www.2cto.com
返回索引對應的值 :
print_r($myArray );

判斷是否為數組:
boolean is_array(mixed var);

混合的 --- 隊列+棧 --- 前後都很方便的操作  

array_unshift($vars , $key , $value);    //從頭加

array_push($vars , $key , $value);       //從尾加

array_shift($vars );    //從頭刪:

array_pop($vars );     //從尾刪:
 

數組四問 --- 查詢
數組問  :   你在嗎?
//對於key   :   
boolean array_key_exists($key  ,  $vars   );
//對於value   :  
boolean in_array($value  ,  $vars   );數組問  :    既然在的話,告訴我你在哪
$key  array_search(&value , $vars);數組問  :    呢給我看看你們的地址簿吧
$keys = array_keys($vars);     //返回鍵值數組

print_r($keys);數組問  :    都住的誰啊?
$values= array_keys($vars);     //返回鍵值數組

當索引不是數字的時候,我一直使用的for(int i=0;;i++)下崗了…

//返回key的
while(  $key=key($vars)  )   
{   
    next($vars);
}
//返回value的
while(  $value=current($vars)  )   
{
    next($vars);
}
取next()的方法不錯,還可以繼續定位~
$value prev($vars)   //前一個

$value reset($vars)   //起點

$value end($vars)   //終點 全面的看數組
總共多大?
Int count($vars)   //返回數組大小
//遞歸計數:
Int count($vars , 1); //第二參數是模式選擇每個種類出現幾次?求頻率~
$vars_f array_count_values($vars); 我只想知道有幾類!去除重復
$vars_u array_unique($vars); 整理一下在看
從小到大按ASCII碼順序排好(默認的,可以選擇)
sort($vars);   //基本排序你排完的key值咋變了
asort($vars);      //鍵值不改變的排序從大到小難道只能反著看?
resort($vars)    //a1--a10-a2好,還是a1-a2-a10好?  自然排序
natsort($vars)不要因為大小寫忽略排序美感
natcasesort($vars)不會只能按內容排列吧?  key排序
?ksort();

到了DIY的時候了~
usort ($vars , 'myFunction');
//myFun()的返回:小於-負數 , 等於-0 , 大於-正數

這數組結構不行,我要改改!
合並 :
array_merge(&vars1 , $vars2);遞歸著合並 :
array_merge_recursive(&vars1 , $vars2);
//遞歸的時候會將一樣value值的合並成數組追加
array_combine(&vars1 , $vars2);連接
array_merge(&vars1 , $vars2);劃分1:
$vars_r = array_slice($vars , 4);//去掉前四個劃分2:
$vars_r = array_slice($vars ,2,-2);//去掉前2個,後2個      劃分原數組不變

拆分
$vars_r = array_slice($vars , 4 ,-2);      原數組$vars,保留前4個

      返回的$vars_r擁有後2個

交集:
$vars_r = array_intersect($vars1 , $vars2 ,$vars3);差集:第一個有,其他沒有的
$vars_r = array_diff($vars1 , $vars2 ,$vars3);數組元素的洗牌~ :
Shuffle($vars);求和
$sum = array_sum($vars);

 


摘自 matter605924657

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved