php三維數組的遍歷
❶ 如何訪問三維數組的某一維
與一維和二維數組類似,以整型為例,三維數組的定義,賦值,和遍歷操作如下:
1 定義:
int a[10][10][10];
這樣就定義了一個10*10*10的三維數組。
2 賦值:
訪問三維數組一個元素可以寫作a[m][n][p]。於是將三維數組每個值分別輸入的代碼如下:
int i,j,k;
for(i = 0; i < 10; i ++)
for(j = 0; j < 10; j ++)
for(k = 0; k < 10; k ++)
cin>>a[i][j][k];
3遍歷:
事實上,2中所介紹的賦值,實際上已經對數組元素做了一次遍歷。
列印的方法如下:
1
2
3
4
5
int i,j,k;
for(i = 0; i < 10; i ++)
for(j = 0; j < 10; j ++)
for(k = 0; k < 10; k ++)
cout<<a[i][j][k];
從以上樣例可以看出,三維數組只是比二維數組多了一個維度,遍歷的時候需要多一重循環,訪問元素的時候也多了一個下標。其它的並沒有特別之處。依此類推,四維五維乃至更高維的數組也是類似的。不過更高維度的數組,在實際應用中很少使用。
❷ php遍歷數組的幾種方法
PHP中遍歷數組有三種常用的方法:
一、使用for語句循環遍歷數組;
二、使用foreach語句遍歷數組;
三、聯合使用list()、each()和while循環遍歷數組。
這三種方法中效率最高的是使用foreach語句遍歷數組。從PHP4開始就引入了foreach結構,是PHP中專門為遍歷數組而設計的語句,推薦大家使用。
希望回答對你有幫助,如果有疑問,請繼續追問
❸ 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");
❹ PHP語言中 foreach 遍歷數組用法
第一種格式遍歷給定的 $a 數組。每次循環中,當前單元的值被賦給 $b 並且數組內部的指針向前移一步(因此下一次循環中將會得到下一個單元)。
自 PHP 5 起,可以很容易地通過在 $b 之前加上 & 來修改數組的單元。此方法將以引用賦值而不是拷貝一個值。例如:
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>
var_mp($arr);#列印$arr看下你就明白了,列印之後你再把&去掉,運行再列印,兩次比較就清楚
第二種就是把原$arr中的每個單元重新賦值,上面那樣寫已經很清楚了,不明白的話,就到網上下載一個php手冊,好好看看
❺ PHP 數組遍歷方法大全(foreach,list,each)
在PHP中數組分為兩類:
數字索引數組和關聯數組。
其中數字索引數組和C語言中的數組一樣,下標是為0,1,2…
而關聯數組下標可能是任意類型,與其它語言中的hash,map等結構相似。
下面介紹PHP中遍歷關聯數組的三種方法:
方法1:foreach
復制代碼
代碼如下:
<?php
$sports
=
array(
'football'
=>
'good',
'swimming'
=>
'very
well',
'running'
=>
'not
good');
foreach
($sports
as
$key
=>
$value)
{
echo
$key.":
".$value."<br
/>";
?>
輸出結果:
football:
good
swimming:
very
well
running:
not
good
方法2:each
復制代碼
代碼如下:
<?php
$sports
=
array(
'football'
=>
'good',
'swimming'
=>
'very
well',
'running'
=>
'not
good');
while
($elem
=
each($sports))
{
echo
$elem['key'].":
".$elem['value']."<br
/>";
?>
方法3:list
&
each
復制代碼
代碼如下:
<?php
$sports
=
array(
'football'
=>
'good',
'swimming'
=>
'very
well',
'running'
=>
'not
good');
while
(list($key,
$value)
=
each($sports))
{
echo
$key.":
".$value."<br
/>";
?>
❻ PHP里怎麼把三維數組遍歷成一維數組
這個不好說,有橫向遍歷和縱向遍歷,看你的需要,橫向遍歷要用到棧的知識,縱向就用遞歸就行(把數組給一個函數,函數判斷數組裡面的值,是不是數組,是數組就繼續給自己這個數組,不是的話就輸出到目標數組)