[英]Grabbing the first element in an object (PHP)
我有一個結構像這樣的對象:
Array
(
[0] => SimpleXMLElement Object ( [0] => Europe )
[1] => SimpleXMLElement Object ( [0] => South America )
[3] => SimpleXMLElement Object ( [0] => North America )
[4] => SimpleXMLElement Object ( [0] => Asia )
)
我正在嘗試按字母順序對對象進行排序。 我已經嘗試過在整個數組上使用sort(),但是它不起作用。 我假設它只是獲取對象的名稱,在所有情況下都是相同的,而是對其進行排序。 我正在嘗試訪問每個對象內的文本,但似乎不能在不帶'SimpleXMLElement Object()'文本的情況下做到這一點。 我將如何訪問該文本,也許只用文本值重新創建一個新數組?
編輯:我嘗試了以下:
$ regions = sort($ regions); $ regions = usort($ regions);
謝謝!
您可以使用usort :
<?php
function pony_sorting($a, $b)
{
if ((string)$a[0] == (string)$b[0) {
return 0;
}
return ((string)$a[0] < (string)$b[0]) ? -1 : 1;
}
usort($a, "pony_sorting");
這將保留陣列的數據結構。 但是,如果您不關心您的SimpleXML元素,只需將其導出到干凈且具有更高內存效率的數組中即可。
$clean = array();
foreach ($a as $simplexml)
{
$clean[] = (string)$simplexml[0];
}
注意(字符串)強制類型轉換,可以獲取simpleXmlElement的實際值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.