Php 将动态数组与中的动态键组合到单个数组中

Php 将动态数组与中的动态键组合到单个数组中,php,Php,我有一个动态的多个数组,我需要将它们组合在一个数组中并序列化它们。问题是我需要同时保留关键和价值 $arr = array($bet_option_id => $bet_option_name); 这里我需要保留bet_option_id和bet_option_name。然后此结果输出: Array ( [997650802] => Over 2.5 ) Array ( [997650807] => Yes ) 这需要简单明了 Array ( [997650802]

我有一个动态的多个数组,我需要将它们组合在一个数组中并序列化它们。问题是我需要同时保留关键和价值

$arr = array($bet_option_id => $bet_option_name);
这里我需要保留bet_option_id和bet_option_name。然后此结果输出:

Array ( [997650802] => Over 2.5 ) 
Array ( [997650807] => Yes )
这需要简单明了

Array
(
  [997650802] => Over 2.5
  [997650807] => Yes
)
由于它是动态的,有时不只是一个数组,所以显然我无法让它工作。我需要检索bet\u option\u id和bet\u option\u name。试过这样的方法:

 $arr = array($bet_option_id => $bet_option_name); //This is where all array keys, values are stores
 $result = array();
 foreach ($arr as $array) {
     $result = array_merge($result, $array);
  } 

任何输入都会很好。

而不是创建像

$arr = array($bet_option_id => $bet_option_name);
如果您首先创建一个空数组(就像您对
$result
所做的那样)

然后使用

$arr[$bet_option_id] = $bet_option_name;

然后,您不需要在之后操作数组,只需在第一时间按照您的需要创建它。

您可以按照Nigel Ren的建议进行操作,这是最优雅的解决方案

如果您没有其键完全为数字的数组,则可以使用array\u merge。以下引用自

示例#2简单数组_merge()示例

$array1=数组()

$array2=数组(1=>“数据”)

$result=array\u merge($array1,$array2)

不要忘记数字键将被重新编号

排列 ( [0]=>数据 )

或者,您也可以像这样将阵列连接在一起

$a1 = [ 997650802 => 'Over 2.5' ];
$a2 = [ 997650807 => 'Yes' ];
var_dump( $a1 + $a2 ); // result is [997650802 => 'Over 2.5',997650807 => 'Yes']

您可以查看有关和

foreach($arr as$key=>$value){$result[$key]=$value;}
类似的内容?数组合并($arr1,$arr2,$arrN)有什么问题?问题是我无法检索数字键,即key=$bet\u option\u id始终是一个动态数字值。不确定您的意思-我的建议是,不是每次都用
$bet\u option\u id
创建一个新数组,而不是使用
$bet\u option\u id
-此时您调用它,将其更改为
$arr[$bet\u option\u id]=$bet\u option\u name使用相同的值但创建一个数组。
$a1 = [ 997650802 => 'Over 2.5' ];
$a2 = [ 997650807 => 'Yes' ];
var_dump( $a1 + $a2 ); // result is [997650802 => 'Over 2.5',997650807 => 'Yes']