導航:首頁 > 編程語言 > php函數參數為數組

php函數參數為數組

發布時間:2025-01-14 08:24:35

A. php 怎麼聲明數組

一、什麼是數組
數組就是一組數據的集合,把一系列數據組織起來,形成一個可操作的整體。數組的每個實體都包含兩項:鍵和值。

二、聲明數據
在PHP中聲明數組的方式主要有兩種:一是應用array()函數聲明數組,一是直接為數組元素賦值。
<1>array()函數聲明的數組的方式array([mixed...]) 參數mixed的語法為key=>value
如,<?php
$array=array("1"=>"編","2"=>"程","3"=>"詞","4"=>"典");
print_r($array);
echo "<br>";
echo $array[1]; //注意:下標默認是從0開始
echo $array[2];
echo $array[3];
echo $array[4];
?>
<2>直接為數組元素賦值。如果在創建數組時不知所創建數組的大小,或在實際編寫程序時數組的大小可能發生變化,採用這種數組創建的方法較好。
如,<?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array); //輸出所創建數組的結構
?>

三、數組的類型
PHP支持兩種數組:索引數組(indexed array)和聯合數組(associative array),前者使用數字作為鍵,後者使用字元串作為鍵。

四、輸出數組
在PHP中對數組元素輸出,可以通過echo和print語句來實現,但這只能對數組中某一元素進行輸出;要將數組結構輸出則要使用print_r()函數,其語法:print_r(mixed expression_r),參數expression_r為普通的整形、字元型或實型變數則輸出該變數本身,如果該參數為數組,則按一定鍵值和元素的順序顯示出該數組中的所有元素。

五、數組的構造
一維數組:
當一個數組的元素是變數時,則稱其為一維數組。
聲明一位數組: 類型說明符 數組名[常量表達式];
二維數組:
當一個數組的元素是一個一位數組時,則稱之為二維數組。
如,<?php
$str = array (
"網路編程語言"=>array ("PHP","JSP","ASP"),
"體育項目"=>array ("m"=>"足球","n"=>"籃球"));
print_r ( $str) ;
?>

六、遍歷數組
遍歷數組中的所有元素是常用的一種操作,在遍歷的過程中可以完成查詢或其他功能。在PHP中遍歷數組的方法有多種,下面介紹最常用的兩種方法。
<1>使用foreach結構遍歷數組;
<2>使用list()函數遍歷數組,list()函數僅能用於數字索引的數組,且數字索引從0開始。
例:綜合使用list()和each()認證用戶登錄:
<?php
//輸出用戶登錄信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo "$name=$value<br>";
}
}
?>
七、統計數組元素個數
在PHP中,使用count()函數對數組中的元素個數進行統計,語法為:int coun(mixed array[,int mode]),其中參數array為必要參數,mode為可選參數,若選中COUNT——RECURSIVE(或1),本函數將遞歸地對數組數組。如,
<?php
$array = array("php" => array("PHP函數參考大全","PHP程序開發範例寶典","PHP資料庫系統開發完全手冊"),
"asp" => array("ASP經驗技巧寶典")
); //聲明一個二維數組
echo count($array,COUNT_RECURSIVE);//遞歸統計數組元素的個數,運行結果為6
?>

八、數組排序
<1>使用sort()和rsort()分別對數組進行升序和降序,如,
<?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$i<count($array);$i++){
echo $array[$i]."";
}
echo "<br>";
$array1=rsort($array);
for($i=0;$i<count($array);$i++){
echo $array[$i]." ";
}
?>
運行結果:
5 9 18 26 37 42 66 88
88 66 42 37 26 18 9 5
<2>使用ksort()和asort()對關聯數組排序
如果使用了相關數組,在排序後還要保持關鍵字和值的排序一致,這是就需要使用ksort()和asort()函

數,如,
<?php
$array=array('php'=>1,'jsp'=>2,'asp'=>3);
ksort($array);
print_r($array);
echo "<br>";
asort($array);
print_r($array);
?>
運行結果:
Array ( [asp] => 3 [jsp] => 2 [php] => 1 )
Array ( [php] => 1 [jsp] => 2 [asp] => 3 )

B. PHP 如何把 字元串 轉為數組

正則做

<?php
$t='code:-1ErrMsg:用戶不存在';
preg_match('/code:(-?d+)s+ErrMsg:(.+)/',$t,$m);
$a=array();
$a['code']=intval($m[1]);
$a['ErrMsg']=$m[2];
var_mp($a);
?>

代碼未測試,自多體會...

C. php有什麼函數能夠直接轉換數組

因為不支持代碼標簽了,上面放圖,下面是代碼

php API 中沒有可以直接打到效果的函數,在此封裝了一個

下面是代碼

代碼部分

<?php


/**

* $list 數組

* $column_num 數據列數量

*/

function groupBy($list, $column_num){

$group = [];

$keys = array_keys($list);

for ($i=0; $i<$column_num; $i++){

$item = [];

foreach ($keys as $key){

$item[$key] = $list[$key][$i];

}

$group[] = $item;

}

return $group;

}


$temp = [

'bg' => ['bg1','bg2','bg3'],

'img' => ['img1','img2','img3'],

'url' => ['url1','url2','url3'],

];


$list = groupBy($temp,3);

echo(json_encode($list));


?>

閱讀全文

與php函數參數為數組相關的資料

熱點內容
整個文件夾比對軟體 瀏覽:866
列舉單片機的五大優點 瀏覽:456
為什麼安卓游戲不能互換 瀏覽:846
androidwebview淘寶 瀏覽:466
重連伺服器獲取數據什麼意思 瀏覽:296
小貝伢用什麼app 瀏覽:104
波段預知源碼公式 瀏覽:386
程序員api數據創業 瀏覽:990
日上免稅行是什麼app 瀏覽:168
山東移動泰山伺服器雲主機 瀏覽:856
php調用當前類方法 瀏覽:616
怎麼委婉的表達感謝程序員 瀏覽:400
java資料庫統計 瀏覽:647
java完全自學 瀏覽:999
linuxpython執行cmd命令 瀏覽:454
帶12位DA的單片機 瀏覽:458
雲伺服器ecs不包括音效卡 瀏覽:989
互聯網程序員下班可以學嗎 瀏覽:125
通達信海洋狀態指標源碼 瀏覽:548
工作壓力大有什麼好的解壓方法 瀏覽:931