當前位置:首頁 » 編程語言 » php迭代數組

php迭代數組

發布時間: 2025-02-10 21:19:35

A. 如何用php創建一個無限遍歷數組,並列印

<?php
/*
無限遍歷數組,建立一個函數,實現函數的自我嵌套,
從而實現列印多維數組。
應該用for循環語句。
*/
/*
$shz為函數中函數參數,用於接收外界數組。
*/
function wxxh($shz) //函數名:wxxh(),依舊使用漢語拼音:無限循環的簡寫。
{
foreach($shz as $val) //$shz為數組的簡寫。
{
if(is_array($val))
{
wxxh($val);
}
else
{
echo $val."OK!"."<br>";
}
}
}
$shzone = array(array(array(array("a","b"),"c","d"),"e","f"),"g","h");
echo wxxh($shzone); //$shzone 為正式數組的名稱:漢語拼音的簡寫加上英文one--數組1。

B. PHP遍歷數組的幾種方法

PHP中遍歷數組有三種常用的方法:
一、使用for語句循環遍歷數組;
二、使用foreach語句遍歷數組;
三、聯合使用list()、each()和while循環遍歷數組。
這三種方法中效率最高的是使用foreach語句遍歷數組。從PHP4開始就引入了foreach結構,是PHP中專門為遍歷數組而設計的語句,推薦大家使用。
希望回答對你有幫助,如果有疑問,請繼續追問

C. 在php中遍歷一個數組,並將其存入一個一維數組中,

$result=Array (0 => Array ( 'days' => 20131217 ) ,
1 => Array ( 'days' => 20131218 ) ,
2 => Array ( 'days' => 20131219 ) ,
3 => Array ( 'days' => 20131220 ) ,
4 => Array ( 'days' => 20131221 ) ,
5 => Array ( 'days' => 20131222 ) ,
6 => Array ( 'days' => 20131223 ) ,
);

foreach($result as $key=>$value){
$newarr[]=$value['days']; //放入一維數組newarr
};

print_r($newarr);

//Array ( [0] => 20131217 [1] => 20131218 [2] => 20131219 [3] => 20131220 [4] => 20131221 [5] => 20131222 [6] => 20131223 )

D. php如何操作數組遍歷追加數據

可以遍歷兩次$a, 第一次取出所有的父級欄目,放入$newarr中,第二次將子欄目放入對應
的父級欄目數組中, 最後使用$newarr就行
不過這是建立在只有二級欄目的基礎上,如果有三級欄目的話就還要麻煩些了

$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;
}
}

E. php中遍歷數組方法


遍歷數組有多種實現方法:
1、連續索引的數組:
實現連派碼續數組的遍歷很簡單,因為數組的索引是連續的(0 1 2),所以我們可以首先用count()函數計算出數組中元素的個數拿羨,然後建立一個for循環,如下:
$subject=array("maths","english","physics");
$num_elements=count($subject); //這時$num_elements的值為3
for ($i=0;$i$num_elements; ++$i){
echo ("$subject[$i]
");
}
結果為:
maths
english
physics
這里我們給$i賦了初值為0,是因為數組元素的索引默認為0 1 2,如果第一個元素的索引不為0,我們只需:
$subject=array(3="maths","english","physics");
$num_elements=count($subject)+3; //注意這里
for ($i=3;$i$num_elements; ++$i){
echo ("$subject[$i]
");
}
這里將$i賦了值3,同時$num_elements=count($subject)+3,這里很容易被忽視。
2 、非連續索引的數組:
$subject=array("m"="maths","e"="english","p"="physics");
這里建立了一個了數組,索引值分別為"m" "e " "p",這樣的數組怎麼遍歷?
方法一:使用list()和each()函數組合
$subject=array("m"="maths","e"="english","p"="physics");
reset($subject); //把指針復位到第一個消羨拍元素上
while (list($key,$value)=each($subject)){
echo "$key is $value
"; }
方法二:使用foreach語句
$subject=array("m"="maths","e"="english","p"="physics");
foreach($subject as $key = $value){
echo "$key is $value
";
}
?
是不是比list()和each()簡單。
foreach 與 list()each()組合的不同之處:
foreach 是在原來數組的拷貝上執行操作的。他的優點是不會影響當前數組指針的位置,缺點是對於一個很大的數組,復制所花的時間很長。
list() each()組合很明顯用他遍歷、之後,指針的位置改變了。
方法三:使用array_walk()函數遍歷數組
array_walk()是讓使用者自定義函數,處理陣列中的每一個元素。
$subject=array("maths","english","physics");
function printElement($element){
print ("$element
");
}
array_walk($subject,"printElement");

熱點內容
h板電影種子ftp 發布:2025-02-11 09:06:10 瀏覽:738
c語言數據類型定義 發布:2025-02-11 09:00:38 瀏覽:237
一個小時如何選擇伺服器 發布:2025-02-11 08:58:14 瀏覽:442
網易我的世界伺服器推薦國服 發布:2025-02-11 08:56:34 瀏覽:241
電視父母鎖屏密碼應該會是什麼 發布:2025-02-11 08:36:42 瀏覽:892
梅花適合用哪些植物進行配置 發布:2025-02-11 08:30:54 瀏覽:252
安卓手機如何像蘋果一樣彈窗 發布:2025-02-11 08:26:33 瀏覽:912
壓縮文件掃碼 發布:2025-02-11 08:20:55 瀏覽:258
小米5安卓70怎麼分屏 發布:2025-02-11 08:00:58 瀏覽:140
訪問二維碼 發布:2025-02-11 08:00:11 瀏覽:883