Ik heb de volgende array:
Nu wil ik bij het uitlezen de sorting eerst aanpassen op basis van een child. Daarvoor heb ik een functie:
Deze lijkt mij precies te doen wat ik wil door deze aan te roepen met:
De functie geeft mij echter een foutmelding:
Argument #3 is expected to be an array or a sort flag in ...php line # (de array_multisort regel).
Nu heb ik na wat googlen gevonden dat mijn SimpleXMLElement Object niet een echte array is maar wel als een array te benaderen is. Mijn vraag is dus klopt dat betekend dit dat mijn xsort functie dus niet gaat werken?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| SimpleXMLElement Object
(
[@attributes] => Array
(
[type] => array
)
[parent] => Array
(
[0] => SimpleXMLElement Object
(
[child] => 0
)
[1] => SimpleXMLElement Object
(
[child] => 50
)
)
) |
Nu wil ik bij het uitlezen de sorting eerst aanpassen op basis van een child. Daarvoor heb ik een functie:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <?php function xsort(&$nodes, $child_name, $order = SORT_ASC) { $sort_proxy = array(); foreach ($nodes as $k => $node) { $sort_proxy[$k] = (int) $node->$child_name; } array_multisort($sort_proxy, $order, $nodes); } ?> |
Deze lijkt mij precies te doen wat ik wil door deze aan te roepen met:
PHP:
1
2
3
| <?php xsort($array, 'child', SORT_ASC); ?> |
De functie geeft mij echter een foutmelding:
Argument #3 is expected to be an array or a sort flag in ...php line # (de array_multisort regel).
Nu heb ik na wat googlen gevonden dat mijn SimpleXMLElement Object niet een echte array is maar wel als een array te benaderen is. Mijn vraag is dus klopt dat betekend dit dat mijn xsort functie dus niet gaat werken?
Dying is God's way of telling you, you've been FIRED.