2009-08-18 82 views

回答

75
$array = array("Jonathan","Sampson"); 

foreach($array as $value) { 
    print $value; 
} 

$length = count($array); 
for ($i = 0; $i < $length; $i++) { 
    print $array[$i]; 
} 
+2

注意,for()循环没有按” t对字符串索引的数组工作(显然) – 2009-08-18 13:46:40

+3

计数应该被预先计算。在你的例子中,它是在每个循环上计算的。它应该是: for($ i = 0,$ count = count($ array); $ i <$ count; $ i ++) – ryeguy 2009-08-18 13:48:36

8

使用foreach循环,它遍历所有的键=>值对:

foreach($array as $key=>$value){ 
    print "$key holds $value\n"; 
} 

,或完全回答你的问题:

foreach($array as $value){ 
    print $value."\n"; 
} 
2
foreach($array as $key => $value) echo $key, ' => ', $value; 
0

如果你正在调试一些东西,只是想看看里面有什么,你的the print_f function格式化输出很好。

0

此外,如果您按照Tom的说法进行调试,则可以使用var_dump来查看该阵列。

2

我还发现在var_dump或print_r周围使用<pre></pre>标签会产生更易读的转储。

2

任的foreach:

foreach($array as $key => $value) { 
    // do something with $key and $value 
} 

或为:

for($i = 0, $l = count($array); $i < $l; ++$i) { 
    // do something with $array[$i] 
} 

很明显,你可以使用foreach循环时只能访问密钥。

,如果你想打印阵列(键)值只是之前的foreach调试使用var_dumpprint_r

0

的foreach::)

reset($array); 
while(list($key,$value) = each($array)) 
{ 
    // we used this back in php3 :) 
} 
5

使用两件事变量值和KYE

foreach($array as $key=>$value){ 
print "$key holds $value\n"; 
} 

仅使用变量值

foreach($array as $value){ 
print $value."\n"; 
} 
如果你想重复做一些事情

直到阵列我们这个

for($i = 0, $l = count($array); $i < $l; ++$i) { 
// do something with $array[$i] 
} 

感谢相等的长度!

2

这里是例子:

$array = array("Jon","Smith"); 
foreach($array as $value) { 
    echo $value; 
} 
+0

请您详细说明您的答案,并增加关于您提供的解决方案的更多描述。 – abarisone 2015-05-26 13:48:27