有人能帮我修复这个代码吗?我得到了一些奇怪的错误:这是针对环路工作不正常的
<?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];
}
?>