簡體   English   中英

抓取對象中的第一個元素(PHP)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM