2016-11-24 50 views
0

鍵的值,我有兩個數組:使一維數組作爲多維

Object 
    protected 'value' => 
     array (size=4) 
      0 => 
      object(stdClass)[668] 
       public 'info' => string 'info' (length=10) 
       public 'info ' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
      1 => 
      object(stdClass)[667] 
       public 'info' => string 'info' (length=10) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
      2 => 
      object(stdClass)[673] 
       public 'info' => string 'info' (length=10) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
      3 => 
      object(stdClass)[671] 
       public 'info' => string 'info' (length=10) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 

,另一個是:

Object 
    protected 'value' => 
    array (size=4) 
     0 => string '2016-11-23' (length=10) 
     1 => string '2016-11-24' (length=10) 
     2 => string '2016-11-25' (length=10) 
     3 => string '2016-11-26' (length=10) 

我想要什麼,是在某種程度上以某種方式合併這些陣列的是,在一個多維數組對數組密鑰將來自所述第二陣列,這樣等於值:

Object 
    protected 'value' => 
     array (size=4) 
      2016-11-23 => 
      object(stdClass)[668] 
       public 'info' => string 'info' (length=10) 
       public 'info ' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
      2016-11-24 => 
      object(stdClass)[667] 
       public 'info' => string 'info' (length=10) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
      2016-11-25 => 
      object(stdClass)[673] 
       public 'info' => string 'info' (length=10) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
      2016-11-26 => 
      object(stdClass)[671] 
       public 'info' => string 'info' (length=10) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 
       public 'info' => string 'info' (length=1) 

我怎樣才能ð那?

+0

您是否嘗試過[array_combine](http://php.net/manual/en/function.array- combine.php)? –

+0

是的,沒有結果 – Generwp

+0

你確定你沒有使用設計好的函數來完成你所要求的:$ combineObject-> value = array_combine($ keyObject-> value,$ valueObject-> value); '作爲一個例子。 –

回答

1

你可以使用array_combine。我試圖用輸入數據來模擬:

$obj = new stdClass; 
$obj->p1 = 
$obj->p2 = 
$obj->p3 = 
$obj->p4 = 'info'; 

$valueObject = new stdClass; 
$valueObject->value = [clone $obj, clone $obj, clone $obj, clone $obj,]; 

$keyObject = new stdClass; 
$keyObject->value = ['2016-11-23','2016-11-24','2016-11-25','2016-11-26',]; 

$outputObject = new stdClass; 
$outputObject->value = array_combine($keyObject->value, $valueObject->value); 

var_dump($outputObject); 

輸出

object(stdClass)#8 (1) { 
    ["value"]=> 
    array(4) { 
    ["2016-11-23"]=> 
    object(stdClass)#3 (4) { 
     ["p4"]=> 
     string(4) "info" 
     ["p3"]=> 
     string(4) "info" 
     ["p2"]=> 
     string(4) "info" 
     ["p1"]=> 
     string(4) "info" 
    } 
    ["2016-11-24"]=> 
    object(stdClass)#4 (4) { 
     ["p4"]=> 
     string(4) "info" 
     ["p3"]=> 
     string(4) "info" 
     ["p2"]=> 
     string(4) "info" 
     ["p1"]=> 
     string(4) "info" 
    } 
    ["2016-11-25"]=> 
    object(stdClass)#5 (4) { 
     ["p4"]=> 
     string(4) "info" 
     ["p3"]=> 
     string(4) "info" 
     ["p2"]=> 
     string(4) "info" 
     ["p1"]=> 
     string(4) "info" 
    } 
    ["2016-11-26"]=> 
    object(stdClass)#6 (4) { 
     ["p4"]=> 
     string(4) "info" 
     ["p3"]=> 
     string(4) "info" 
     ["p2"]=> 
     string(4) "info" 
     ["p1"]=> 
     string(4) "info" 
    } 
    } 
}