0

有人可以帮我修复这段代码吗?我收到一些奇怪的错误:这个 for 循环不能正常工作

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

预期结果:

te,hi

实际结果:

Array Array
4

7 回答 7

2

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

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

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

foreach($languages as $langIndex => $language) {
  echo $language;
} 
于 2012-07-28T08:37:00.800 回答
0

你不小心使用了echo array. 尝试这个:

<?php 
$languages=array('te','hi');
for($langIndex=0;$langIndex<count($languages);$langIndex++)
{
    echo $languages[$langIndex];
} 
?>
于 2012-07-28T08:38:51.000 回答
0

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

尝试:

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

或者

foreach($languages as $langue){
    echo $langue;
}
于 2012-07-28T08:39:11.663 回答
0

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

echo  implode(',', $languages);
于 2012-07-28T08:41:40.583 回答
0

并且出于性能原因!

<?php 
$languages=array('te','hi');
for($langIndex = 0, $count = count($languages) ;$langIndex < $count; $langIndex++)
{
    echo $languages[$langIndex];
} 
?>
于 2012-07-28T08:53:54.373 回答
0

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

echo $languages[$langIndex];

或者您可以为自己省点麻烦并改用foreach循环:

foreach ($languages as $lang) {
    echo $lang;
}
于 2012-07-28T08:37:01.413 回答
0

寻址数组元素时应使用数组索引

<?php 
$languages=array('te','hi');
for($langIndex=0;$langIndex<count($languages);$langIndex++)
{ 
    echo $languages[$langIndex];
} 
?>
于 2012-07-28T08:38:26.213 回答