Так скажем, у меня есть файл XML, как этотВвод XML в массив затем сортировать?
<allAnimals>
<animal>
<aniID>1</aniID>
<name>Joo</name>
</animal>
<animal>
<aniID>2</aniID>
<name>Moo</name>
</animal>
<animal>
<aniID>1</aniID>
<name>Foo</name>
</animal>
</allAnimals>
мне нужно сделать это в выпадающем списке, где отображаемое значение названия животных, а в алфавитном порядке, и значения, связанные с этим отображается значение это идентификатор животного.
На мой взгляд, я должен быть в состоянии сделать что-то вроде:
<?php
$xml=simplexml_load_file("animal.xml")
$animalArray = array();
foreach($xml->animal as $child)
{
$animalArray[$child->name]= $child->aniID;
}
ksort($animalArray);
$page.="<Select>";
foreach($animalArray AS $key=>$value)
{
$page.='<option value="'.$value.'">'.$key."</option>";
}
return $page;
?>
UPDATE
Так это то, что я сейчас
$xml = simplexml_load_file("animal.xml");
$animals = array();
foreach($xml->organization as $child) {
$animals[] = array('id' => $child->aniID, 'name' => $child->Name);
}
$page.="<select>";
foreach($animals AS $aniId=>$name)
{
$page.='<option value="'.$aniId.'">'.$name."</option>";
}
$page.="</select>";
Давайте не будем беспокоиться о сортировке прямо теперь, потому что теперь все, что я получаю в списке выбора, это "array" "array" «массив»
Какая ошибка у вас возникла? – hek2mgl
FYI: вы заполняете массив «name» как ключ и «aniID» в качестве значения, но вы перевернули их в своем foreach. 'foreach ($ animalArray as $ name => $ aniID) ...' вероятно, вы хотите. – glomad
@ user1807404 Пожалуйста, прекратите изменять свой код в вопросе. Это аннулирует все ответы, которые уже предоставили люди. – glomad