首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的数组存在asort/arsort问题,在创建表时出现

我的数组存在asort/arsort问题,在创建表时出现
EN

Stack Overflow用户
提问于 2015-11-30 23:03:08
回答 1查看 59关注 0票数 1

我的代码似乎不能正确使用asort/arsort。我最初使用的是sort/asort。当我创建数组时,数组显示为已排序,然后我转到我的“print_r”函数,它只按索引顺序打印值。知道是怎么回事吗?

我的主文件中的代码段

代码语言:javascript
复制
//Sorts Array by value [Ascending] 
asort($songArray);
print_r($songArray);

//Creates table [See inc_func.php]
CreateTable ($songArray); 

引用的函数

代码语言:javascript
复制
function CreateTable ($array)
{
/* Create Table:
 *  count given $array as $arrayCount
 *  table_start
 *  for arrayCount > 0, add table elements
 *  table_end
 */   

$arrayCount = count($array);
echo '<table>';
echo '<th colspan="2"> "Andrews Favorite Songs"';

// as long as arraycount > 0, add table elements
for ($i = 0; $i < $arrayCount; $i++)
{ 
    $value = $array[$i];
    echo '<tr>';
    echo '<td>'.($i+1).'</td>';
    echo '<td>'.$value.'</td>';
    echo '</tr>';
}

echo '</table>'.'<br>'; 
}  

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-11-30 23:09:18

对数组进行排序不会改变键,只是对它们重新排序

然后,您的显示代码按数字顺序迭代数组,因此顺序将被忽略。

相反,使用foreach循环:

代码语言:javascript
复制
function CreateTable ($array)
{
    echo '<table>';
    echo '<th colspan="2"> "Andrews Favorite Songs"';
    $count = 1;
    foreach ($array as $value)
    {
        echo '<tr>';
        echo '<td>'.$count++'</td>';
        echo '<td>'.$value.'</td>';
        echo '</tr>';
    }

    echo '</table>'.'<br>';
} 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34001585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档