我正在做一个项目,我必须按升序对所有国家/地区和语言进行排序并显示。
用语言排序很难,我瞪大眼睛的时候总会发现这类问题。我花了几个小时来解决这个问题,但还是解决不了。当我取消对sort($languages);
的注释时,它会显示数组的索引。
我需要类别(即国家)和语言以正确的方式排序(升序)。
用英语和某些语言进行排序似乎效果不错。但对于日语和其他一些语言来说,这是行不通的。
并且<th>
标记仅适用于RussianLanguagesCategort标记。也请帮忙设计。
如果你能解决这个问题,我将非常感谢你。提前感谢。。。
这是我试过的。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<body>
<?php
$languages = array(
'Russia' => array(
'Russian'=>'rʌʃə',
),
'Japan'=>array('Japanese'=>"日本" ,'America'=>'アメリカ'),
'India' => array(
'Bengali' => "ગુજરાતી",
'Hindi' => 'क्रिकेट',
'Telugu' => "తెలుగు",
'Malyalam' => "മലയാളം",
'Oriya' => 'ଓଡ଼ିଆ oṛiā',
'Kannda' => 'ಕನ್ನಡ ಲಿಪಿ',
'Kashmiri'=>'کٔشِیر',
'Konkani' => 'कोंकणस्थ',
'Panjabi' => 'ਪੰਜਾਬੀ',
'Sanskrit'=>'संस्कृत',
'Tamil' => 'தமிழ்'
));
//sort($languages);
echo "<table border='1' ><tr><td>";
foreach ($languages as $obj_key =>$book){
echo "<th>$obj_key Languages Category</th>";
echo "<table border='1'>";
foreach ($book as $key=>$value){
echo "<tr><td>$key </td><td> $value</td></tr>";
}
echo "</td></tr></table>";
}
echo "</table>";
?>
</body>
</html>
这个问题到这里还没有解决。我需要用人类语言(升序)对它进行排序,那里有6800种语言。而不使用多维数组。通过关联数组。
$languages=array ('アメリカ','日本','ગુજરાતી','क्रिकेट','తెలుగు','മലയാളം','ଓଡ଼ିଆ oṛiā','ಕನ್ನಡ ಲಿಪಿ','کٔشِیر','कोंकणस्थ','ਪੰਜਾਬੀ','संस्कृत','தமிழ்');
//sort ($languages);
foreach ($languages as $language) {
echo $language.'<br/>';
}
请检查,您的html结构不正确。
我认为应该如下
echo "<table border='1' >";
foreach ($languages as $obj_key =>$book){
echo "<thead><tr><th>$obj_key Languages Category</th></tr></thead>";
foreach ($book as $key=>$value){
echo "<tr><td>$key - $value</td></tr>";
}
}
echo "</table>";
我看到你在使用嵌套表,但首先在普通表中检查它
解决方案
在你的语言数组之后
ksort($languages);
echo "<table border='1' >";
foreach ($languages as $obj_key =>$book){
echo "<thead>
<tr>
<th>$obj_key Languages Category</th>
</tr>
</thead>";
ksort($book );
foreach ($book as $key=>$value){
echo " <tr><td>$key - $value</td></tr>" . PHP_EOL;
}
}
echo "</table>";
这对你很管用(http://codepad.org/dnZuvfjr)此处的工作副本