1、在test.php文件內(nèi),使用header設(shè)置test.php執(zhí)行的編碼為utf8,避免輸出中文的時候出現(xiàn)亂碼。
成都創(chuàng)新互聯(lián)為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設(shè)計服務(wù),主要包括成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)、手機(jī)APP定制開發(fā)、微信小程序、宣傳片制作、LOGO設(shè)計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個作品的質(zhì)量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。
2、在test.php文件內(nèi),創(chuàng)建一個測試的數(shù)組,例如,定義一個分類的數(shù)組,其對應(yīng)的索引值分別為0,4,8。
3、在test.php文件內(nèi),使用array_values()方法將上一步的數(shù)據(jù)重新排序,并且從0開始,把重新排序的數(shù)組保存在$result變量中。
4、在test.php文件內(nèi),使用foreach方法遍歷數(shù)組,其中$k為索引值,$v為索引值對應(yīng)的數(shù)組值。
5、在test.php文件內(nèi),使用echo方法輸出數(shù)組中的索引值和對應(yīng)的數(shù)組值即可。
可以遍歷兩次$a, 第一次取出所有的父級欄目,放入$newarr中,第二次將子欄目放入對應(yīng)
的父級欄目數(shù)組中, 最后使用$newarr就行
不過這是建立在只有二級欄目的基礎(chǔ)上,如果有三級欄目的話就還要麻煩些了
$newarr = array();
foreach ($a as $key = $value)
{
if($value['fID'] == 0)
{
$cid = $value['cID'];
$newarr[$cid] = $value;
unset($a[$key]);
}
}
foreach ($a as $key = $value)
{
if($value['fID'] != 0)
{
$fid = $value['fID'];
$newarr[$fid]['zilanmu'][] = $value;
}
}
php遍歷數(shù)組的4種方法總結(jié),它分分別是foreach循環(huán)、each函數(shù)、list函數(shù)、for循環(huán),需要的朋友可以參考下
在php中可以用來遍歷數(shù)組的函數(shù)有很多,如有:for語句、list、each、foreach這四個函數(shù),這也是在php中遍歷數(shù)組的幾個主要的函數(shù),下面我來給大家介紹。
foreach遍歷數(shù)組
我們在運(yùn)用數(shù)組時,常常要遍歷數(shù)組并獲得各個鍵或者元素值,php提供了一些專門遍歷數(shù)組的函數(shù)。這里先介紹foreach遍歷數(shù)組函數(shù)的用法。
結(jié)構(gòu)形式:
復(fù)制代碼 代碼如下:
foreach ( array_expression as $value ) statement
/* array_expression是要遍歷的數(shù)組
as作用是將數(shù)組的值賦給$value
statement是后續(xù)語句
*/
實(shí)例1:
復(fù)制代碼 代碼如下:
'白色' ,
'black' = '黑色' ,
'red' = '紅色' ,
'green' = '綠色',
'yellow' = '黃色');
foreach( $color as $c) echo $c ."
";
?
通過foreach不僅可以獲得元素的值也可以獲得鍵名,結(jié)構(gòu)形式:
復(fù)制代碼 代碼如下:
foreach ( array_expression as $key = $value ) statement
將以上實(shí)例中第7行的代碼:
復(fù)制代碼 代碼如下:
foreach( $color as $c) echo $c ."br";
改為:
復(fù)制代碼 代碼如下:
foreach( $color as $key = $c) echo $key.$c ."br";
each遍歷數(shù)組
遍歷數(shù)組是php數(shù)組操作一個重要的環(huán)節(jié),除了前面提到的foreach函數(shù),這里再介紹一個遍歷數(shù)組的函數(shù)-each()。
用each()函數(shù)可以輸出當(dāng)前指針位置的鍵名和對應(yīng)的元素值??梢允褂谩?″或”key”來訪問鍵名(標(biāo)識符),用”1″或”value”訪問標(biāo)識符對應(yīng)的值。
實(shí)例:
復(fù)制代碼 代碼如下:
?php
$languages=array(1=--"php",
5="html",
10="css");
$a=each($languages); /* 第一次遍歷數(shù)組 */
echo $a[0] ."t";
echo $a[1] ."br";
$a=each($languages); /* 第二次遍歷數(shù)組 */
echo $a[key] ."t";
echo $a[value];
?
list遍歷數(shù)組
函數(shù)list可以在遍歷數(shù)組時一次賦給變量,通常和each()函數(shù)配合使用。用list()函數(shù)使訪問each()返回的鍵和值變得更加簡單了。
實(shí)例:
復(fù)制代碼 代碼如下:
?php
$date=array(1=--"Monday",
2="Tuesday",
3="Wednesday");
list($key,$value)=each($date); /* 遍歷函數(shù) */
echo "$key $value" ."br"; /* 輸出第一個數(shù)組 */
$next=next($date); /* 指針后移 */
echo "$next";
?
ps:list()函數(shù)剛好與array()函數(shù)相反,array()將一系列數(shù)據(jù)構(gòu)造成數(shù)組,而list()則將數(shù)組拆分成數(shù)據(jù)。
for遍歷數(shù)組
除了php預(yù)定義的一些遍歷數(shù)組函數(shù),我們還可以利用for語句的循環(huán)特性將數(shù)組遍歷輸出。下面給出例子:
復(fù)制代碼 代碼如下:
?php
$a[]="張學(xué)友"; /* 定義數(shù)組 */
$a[]="劉德華";
$a[]="黎明";
$a[]="郭富城";
$s=count($a); /* 統(tǒng)計數(shù)組個數(shù) */
for($i=0;$i$s;$i++){ /* 遍歷數(shù)組 */
echo $a[$i] ."br /--"; /* 顯示數(shù)組 */
}
?
注:foreach只能用于數(shù)組
第一種格式遍歷給定數(shù)組$array,每次循環(huán),當(dāng)前單元的值被賦給 $value 并且數(shù)組內(nèi)部的指針向前移一步(下一次循環(huán)中將會得到下一個單元)。
第二種格式也是遍歷給定的數(shù)組$array,不同的是鍵名也參與了。在每次循環(huán)中將鍵值賦給$value,將鍵名賦給變量 $key
?
//第一種
$array=array(1,2,3,4);
foreach($array as $value){
echo $value." ";
}//輸出結(jié)果為:1 2 3 4
//第二種
foreach($array as $key=$value){
echo $key."=".$value." ";
}//輸出結(jié)果為:0=1 1=2 2=3 3=4
?