gpt4 book ai didi

php - 将数组中的数据放入 html 组合框

转载 作者:行者123 更新时间:2023-11-29 12:54:50 24 4
gpt4 key购买 nike

我在类 Continente 中有 2 个数组。都是公共(public)数组,我用 mysql 数据库中的记录填充数组。

class Continente{
public $continente = array();
public $tari= array();

}

我有一个对象,我调用该对象将数据放入数组中。

$cont = new Continente;
$cont->setContinente();
$cont->setTari();

现在数组看起来像这样:

 Array ( 
[0] => Array ( [Id] => 1 [Nume] => Europa )
[1] => Array ( [Id] => 2 [Nume] => Asia )
[2] => Array ( [Id] => 3 [Nume] => Africa ) )

和:

Array 
( [0] => Array ( [Id] => 0 [Nume] => Romania [idContinent] => 1 [Populatie] => 2500 )
[1] => Array ( [Id] => 0 [Nume] => Bulgaria [idContinent] => 1 [Populatie] => 2200 )
[2] => Array ( [Id] => 0 [Nume] => Estonia [idContinent] => 1 [Populatie] => 1100 )
[3] => Array ( [Id] => 0 [Nume] => Japonia [idContinent] => 2 [Populatie] => 5000 )
[4] => Array ( [Id] => 0 [Nume] => China [idContinent] => 2 [Populatie] => 4599 )
[5] => Array ( [Id] => 0 [Nume] => India [idContinent] => 2 [Populatie] => 6000 )
[6] => Array ( [Id] => 0 [Nume] => Egipt [idContinent] => 3 [Populatie] => 444 ) )

现在我需要制作一个包含 3 个大陆的组合框,对于所选的每个大陆,我需要打印按“Populatie”中最大数字排序的前 3 个国家/地区。

所以我可以选择各大洲的国家...我有 Id=idContinent 。

现在我真的不知道该怎么做。在 php 中为此编写一个方法吗?因为我已经有了数组...或 html?

这是我尝试过的:

<html>
<head></head>
<body>
<div>
<br>
<select>

<?php
foreach($cont->tari as $val ){
echo '<option value="'.$val.'">'.$val.'</option>';
}
?>
</select>


</div>

</body>


</html>

最佳答案

如果你能做到,我认为你可以相当多地清理你的数据结构,并且它会让你更容易完成你想要做的事情。如果您像这样存储信息:

$data = array( Europa => array (Romania => 2500, 
Bulgaria => 2200,
Estonia => 1100 ),
Asia => array ( Japonia => 5000,
China => 4599,
India => 6000 )
...);

那么您也许可以消除对“ID”键的需要,而只使用 ID 的数组索引。

然后您可以使用 arsort() 按值对子数组进行排序。像这样的事情:

foreach( $data as $cont => $pop_data ) {
arsort( $pop_data );
}

然后,为了创建组合框,请使用类似的代码:

foreach( $data as $cont => $pop_data ) {
echo $cont . " Population Info:" . "<br>"; // or whatever
foreach( $pop_data as $country => $pop ) {
echo '<option value="'.$pop.'">'.$pop.'</option>';
}
}

关于php - 将数组中的数据放入 html 组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24231111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com