根据数组字段值将大数组拆分为多个数组

时间:2014-03-04 04:35:05

标签: php arrays

我有一个数组,而且它很大。很大。它是一家房地产公司。我想根据每个家庭的卧室数量将阵列分成几个部分。因此理想情况下,所有具有0间卧室的条目(如下图所示)将被设置为一个数组,而将1设置为另一个数组。等...

这可能吗?

object(SimpleXMLElement)#124 (1) {
  ["unit"]=>
  array(40) {
    [0]=>
    object(SimpleXMLElement)#246 (1) {
      ["@attributes"]=>          array(28) {
        ["mlsnumber"]=>            string(8) "A1837040"
        ["type"]=>            string(0) ""
        ["unit"]=>            string(3) "607"
        ["maintenancefee"]=>            string(4) "1609"
        ["price"]=>            string(6) "890000"
        ["salesprice"]=>            string(0) ""
        ["bath"]=>            string(1) "1"
        ["hbath"]=>            string(1) "0"
        ["beds"]=>            string(1) "0"
        ["sqft"]=>            string(3) "747"
        ["sqftm"]=>            string(5) "69.40"
        ["pricesqft"]=>            string(8) "1,191.43"
        ["lat"]=>            string(16) "25.7683201213024"
        ["lng"]=>            string(16) "-80.132474899292"
        ["pricemeters"]=>            string(9) "12,824.21"
        ["pricechange"]=>            string(5) "-6.32"
        ["dom"]=>            string(3) "181"
        ["reo"]=>            string(1) "N"
        ["shortsale"]=>            string(1) "N"
        ["dropprice"]=>            string(0) ""
        ["pets"]=>            string(3) "Yes"
        ["furnished"]=>            string(1) "U"
        ["FloorLevel"]=>            string(1) "6"
      }
    }

2 个答案:

答案 0 :(得分:1)

循环遍历数组并将当前数组推入新数组,而新数组的索引是当前数组的卧室数。您需要先将对象转换为数组,然后再按照以下方式进行转换:

  foreach($all_units as $unit){
    if(!isset($new[$unit['beds']])){
          $new[$unit['beds']] = array();
    }
    array_push($new[$unit['beds']],$unit);
  }
  print_r($new);

答案 1 :(得分:0)

假设$arr保存您的结果,请尝试

$result = array();
foreach($arr['unit'] as $prop){
  $result[$prop["beds"]][] = $prop;
}