这个for循环有什么问题


whats wrong with this for loop?

有人能帮我修复这个代码吗?我得到了一些奇怪的错误:这是针对环路工作不正常的

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

预期结果:

te,hi

实际结果:

Array Array

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

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

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

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

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

echo $languages[$langIndex];

或者你可以省去一些麻烦,用foreach循环代替:

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

当寻址到数组的元素时,应该使用数组索引

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

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

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

每次在循环中调用数组($languages)。。。

试用:

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

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

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

echo  implode(',', $languages);

出于性能原因!

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