一步一步學(xué)習(xí)PHP(8) php 數(shù)組
更新時間:2010年03月05日 17:50:45 作者:
與其把PHP中的數(shù)組理解為我們狹義上的“數(shù)組”,我覺得還不妨把這個數(shù)組一分為二,一者為我們常規(guī)上的數(shù)組,一者為我們的Dictionary。
1. PHP中的數(shù)組
與其把PHP中的數(shù)組理解為我們狹義上的“數(shù)組”,我覺得還不妨把這個數(shù)組一分為二,一者為我們常規(guī)上的數(shù)組,一者為我們的Dictionary。
2. 創(chuàng)建數(shù)組
如果數(shù)組不存在,那么向數(shù)組中存放值將會創(chuàng)建數(shù)組。
<?php
$address[0]='北京';
$address[1]='上海';
$address[2]='南京';
$introduce['北京']='首都';
$introduce['上海']='國際大都市';
$introduce['南京']='不了解了';
?>
還有一種較為正統(tǒng)的方法,使用array()語言結(jié)構(gòu),這也是我傾向的一種方式:
<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
?>
當(dāng)然我們還可以用這樣的方式創(chuàng)建一個空數(shù)組:
<?php
$nullArray=array();
?>
3. 訪問數(shù)組元素
訪問數(shù)組元素其實和傳統(tǒng)方式一樣:
<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
echo($address[1]);
echo($introduce['上海']);
?>
4. 遍歷數(shù)組元素
遍歷數(shù)組最常用的方式就是foreach,也比較通用。
<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
foreach($address as $value)
{
echo($value.'<br/>');
}
foreach($introduce as $key=>$value)
{
echo("$key => $value <br/>");
}
?>
foreach遍歷數(shù)組很容易,但是他有一個缺點(diǎn),就是他并不是直接操作原數(shù)組,而是在遍歷前先復(fù)制一份原數(shù)組的拷貝,這樣就造成了時間和空間上的浪費(fèi)。
那么有個簡單的方法,就是for。
<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
for($i=0;$i<count($address);$i++)
{
echo("$address[$i]<br/>");
}
?>
這個雖然簡單,但是也有缺點(diǎn),就是只可以遍歷索引數(shù)組,沒有辦法遍歷字典。
于是,在PHP中提出了迭代器函數(shù)。
其中最常用的就是each()函數(shù)??磦€簡單的例子吧:
<?php
$introduce=array('城市名'=>'介紹',
'北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
reset($introduce);
echo('<table>');
while(list($city,$intro)=each($introduce))
{
echo("<tr><td>$city</td><td>$intro</td>");
}
echo('</table>');
?>
做個解釋,each()函數(shù)用于遍歷數(shù)組元素,類似于我們在常規(guī)意義上的迭代器。而且使用迭代函數(shù)的最大好處是并不會像foreach語言結(jié)構(gòu)一樣產(chǎn)生一個原數(shù)組的拷貝,在處理大數(shù)組時是很有用的。
與其把PHP中的數(shù)組理解為我們狹義上的“數(shù)組”,我覺得還不妨把這個數(shù)組一分為二,一者為我們常規(guī)上的數(shù)組,一者為我們的Dictionary。
2. 創(chuàng)建數(shù)組
如果數(shù)組不存在,那么向數(shù)組中存放值將會創(chuàng)建數(shù)組。
復(fù)制代碼 代碼如下:
<?php
$address[0]='北京';
$address[1]='上海';
$address[2]='南京';
$introduce['北京']='首都';
$introduce['上海']='國際大都市';
$introduce['南京']='不了解了';
?>
還有一種較為正統(tǒng)的方法,使用array()語言結(jié)構(gòu),這也是我傾向的一種方式:
復(fù)制代碼 代碼如下:
<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
?>
當(dāng)然我們還可以用這樣的方式創(chuàng)建一個空數(shù)組:
復(fù)制代碼 代碼如下:
<?php
$nullArray=array();
?>
3. 訪問數(shù)組元素
訪問數(shù)組元素其實和傳統(tǒng)方式一樣:
復(fù)制代碼 代碼如下:
<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
echo($address[1]);
echo($introduce['上海']);
?>
4. 遍歷數(shù)組元素
遍歷數(shù)組最常用的方式就是foreach,也比較通用。
復(fù)制代碼 代碼如下:
<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
foreach($address as $value)
{
echo($value.'<br/>');
}
foreach($introduce as $key=>$value)
{
echo("$key => $value <br/>");
}
?>
foreach遍歷數(shù)組很容易,但是他有一個缺點(diǎn),就是他并不是直接操作原數(shù)組,而是在遍歷前先復(fù)制一份原數(shù)組的拷貝,這樣就造成了時間和空間上的浪費(fèi)。
那么有個簡單的方法,就是for。
復(fù)制代碼 代碼如下:
<?php
$address=array('北京','上海','南京');
$introduce=array('北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
for($i=0;$i<count($address);$i++)
{
echo("$address[$i]<br/>");
}
?>
這個雖然簡單,但是也有缺點(diǎn),就是只可以遍歷索引數(shù)組,沒有辦法遍歷字典。
于是,在PHP中提出了迭代器函數(shù)。
其中最常用的就是each()函數(shù)??磦€簡單的例子吧:
復(fù)制代碼 代碼如下:
<?php
$introduce=array('城市名'=>'介紹',
'北京'=>'首都',
'上海'=>'國際大都市',
'南京'=>'不了解了'
);
reset($introduce);
echo('<table>');
while(list($city,$intro)=each($introduce))
{
echo("<tr><td>$city</td><td>$intro</td>");
}
echo('</table>');
?>

做個解釋,each()函數(shù)用于遍歷數(shù)組元素,類似于我們在常規(guī)意義上的迭代器。而且使用迭代函數(shù)的最大好處是并不會像foreach語言結(jié)構(gòu)一樣產(chǎn)生一個原數(shù)組的拷貝,在處理大數(shù)組時是很有用的。
相關(guān)文章
php學(xué)習(xí)之 循環(huán)結(jié)構(gòu)實現(xiàn)代碼
php學(xué)習(xí)之 循環(huán)結(jié)構(gòu)實現(xiàn)代碼,需要的朋友可以參考下。2011-06-06