这个for循环有什么问题?

时间:2012-07-28 08:33:54

标签: php

有人可以帮我解决这个问题吗?我收到一些奇怪的错误: 这个for循环不能正常工作

<?php 
$languages=array('te','hi');
for($langIndex=0;$langIndex<count($languages);$langIndex++)
{
echo $languages;} 
?>

预期结果:

te,hi

实际结果:

Array Array

7 个答案:

答案 0 :(得分:2)

您必须先获取迭代的数组条目($languages[$langIndex]):

for($langIndex=0;$langIndex<count($languages);$langIndex++) {
  $language = $languages[$langIndex];
  echo $language;
} 

另一种可能性是使用foreach - 循环:

foreach($languages as $langIndex => $language) {
  echo $language;
} 

答案 1 :(得分:0)

每次循环时你都试图打印出整个$languages数组 - 循环内部没有任何内容可以实际查看$langIndex的值。您可以在当前正在查看的索引处打印出字符串:

echo $languages[$langIndex];

或者您可以省去一些麻烦并改为使用foreach循环:

foreach ($languages as $lang) {
    echo $lang;
}

答案 2 :(得分:0)

在寻址数组

的元素时应该使用数组索引
<?php 
$languages=array('te','hi');
for($langIndex=0;$langIndex<count($languages);$langIndex++)
{ 
    echo $languages[$langIndex];
} 
?>

答案 3 :(得分:0)

您不小心使用了echo array。试试这个:

<?php 
$languages=array('te','hi');
for($langIndex=0;$langIndex<count($languages);$langIndex++)
{
    echo $languages[$langIndex];
} 
?>

答案 4 :(得分:0)

你每次都在你的循环中调用你的数组($ languages)......

尝试:

for($langIndex=0;$langIndex<count($languages);$langIndex++)
    echo languages[$langIndex];
}

foreach($languages as $langue){
    echo $langue;
}

答案 5 :(得分:0)

如果您只想从该数组中获得所需的结果te,hi,请使用

echo  implode(',', $languages);

答案 6 :(得分:0)

并且出于表现原因!

<?php 
$languages=array('te','hi');
for($langIndex = 0, $count = count($languages) ;$langIndex < $count; $langIndex++)
{
    echo $languages[$langIndex];
} 
?>