簡體   English   中英

PHP array_merge為每個數組排序一個值

[英]PHP array_merge order one value per array

我想要兩個以自定義順序合並兩個數組:從數組1獲取一個值,然后從數組2獲取一個值,如下所示:

$array1 = array('key1' => 'value_1_1', 'key2' => 'value_1_2');
$array2 = array('key1' => 'value_2_1', 'key2' => 'value_2_2');

//merge array with custom order

$array_result = array('key1' => array('value_1_1', 'value_2_1'),
                      'key2' => array('value_2_1', 'value_2_2')
                     )

值不同,兩個數組上的鍵相同。

內置功能

$result = array_merge_recursive($array1, $array2);
$result = array();
foreach(array_keys($array1 + $array2) as $key)
{
    if(array_key_exists($key, $array1) && array_key_exists($key, $array2))
        $result[$key] = array($array1[$key], $array2[$key]);
    else
        $result[$key] = array_key_exists($key, $array1) ? $array1[$key] : $array2[$key];
}

嘗試這個 :

$array1 = array('key1' => 'value_1_1', 'key2' => 'value_1_2');
$array2 = array('key1' => 'value_2_1', 'key2' => 'value_2_2');
$result = array();

/* Create index for $result */
foreach($array1 as $data => $value) {
    $result[$data] = array();
}

/* Craete Value for $result from array 1*/
foreach($array1 as $data => $value) {
    array_push($result[$data], $value); 
}

/* Craete Value for $result from array 2*/
foreach($array2 as $data => $value) {
    array_push($result[$data], $value);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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