一步一步學習PHP 8 陣列

2022-01-31 14:14:45 字數 2195 閱讀 6517

1. php中的陣列

與其把php中的陣列理解為我們狹義上的「陣列」,我覺得還不妨把這個陣列一分為二,一者為我們常規上的陣列,一者為我們的dictionary。

2. 建立陣列

如果陣列不存在,那麼向陣列中存放值將會建立陣列。

<?php 

$address[0]='北京';

$address[1]='上海';

$address[2]='南京';

$introduce['北京']='首都';

$introduce['上海']='國際大都市';

$introduce['南京']='不了解了';

?>

還有一種較為正統的方法,使用array()語言結構,這也是我傾向的一種方式:

<?php 

$address=array('北京','上海','南京');

$introduce=array('北京'=>'首都',

'上海'=>'國際大都市',

'南京'=>'不了解了'

);?>

當然我們還可以用這樣的方式建立乙個空陣列:

<?php 

$nullarray=array();

?>

3. 訪問陣列元素訪問陣列元素其實和傳統方式一樣:

<?php 

$address=array('北京','上海','南京');

$introduce=array('北京'=>'首都',

'上海'=>'國際大都市',

'南京'=>'不了解了'

);echo($address[1]);

echo($introduce['上海']);

?>

4. 遍歷陣列元素遍歷陣列最常用的方式就是foreach,也比較通用。

<?php 

$address=array('北京','上海','南京');

$introduce=array('北京'=>'首都',

'上海'=>'國際大都市',

'南京'=>'不了解了'

);foreach($address

as $value)

foreach($introduce

as $key=>$value)

?>

foreach遍歷陣列很容易,但是他有乙個缺點,就是他並不是直接操作原陣列,而是在遍歷前先複製乙份原陣列的拷貝,這樣就造成了時間和空間上的浪費。

那麼有個簡單的方法,就是for。

<?php 

$address

=array

('北京'

,'上海'

,'南京'

);$introduce

=array

('北京'

=>

'首都'

,'上海'

=>

'國際大都市'

,'南京'

=>

'不了解了'

);for($i

=0;$i

$address

);$i

++)?>

這個雖然簡單,但是也有缺點,就是只可以遍歷索引陣列,沒有辦法遍歷字典。

於是,在php中提出了迭代器函式。

其中最常用的就是each()函式。看個簡單的例子吧:

<?php 

$introduce=array('城市名'=>'介紹',

'北京'=>'首都',

'上海'=>'國際大都市',

'南京'=>'不了解了'

做個解釋,each()函式用於遍歷陣列元素,類似於我們在常規意義上的迭代器。而且使用迭代函式的最大好處是並不會像foreach語言結構一樣產生乙個原陣列的拷貝,在處理大陣列時是很有用的。

一步一步學習IdentityServer3 8

identityserver3結合hangfire及cookies中介軟體實現授權 idr3資料庫token過期管理 globalconfiguration.configuration.usesqlserverstorage hangfire globalconfiguration.configur...

一步一步學習IdentityServer3 4

其實上述例子 很多都很找到 但是在實際生態環境中給例子有很多不一樣的地方 比如自定已登入介面怎麼做?怎麼訪問自己的使用者資料庫實現登入?怎麼在介面中使用,在介面中又怎麼實現與idr3結合授權?等等問題 解下來我會在實際專案中整體一步一步介紹 1 這是我自定義登入的介面 2 在授權同意頁面 3 下圖是...

一步一步學習IdentityServer3 3

證書 static class certificate private static byte readstream stream input return ms.toarray clients public class clients allowedcorsorigins new list,all...