所以可以说,我的First Array具有这样的值
第一个数组:
$first : [Array
(
[0] => CreationDate
[1] => OrderNumber
[2] => OrderDate
[3] => InvoiceNumber
)
和第二个数组,其值如下: $ Second:[Array
(
[0] => 2011-08-09
[1] => 123123
[2] => 2011-08-09
[3] => XXAXXA
)
我想要的是得到这样的输出:
$Join : [Array
(
[CreationDate] => 2011-08-09
[OrderNumber] => 123123
[OrderDate] => 2011-08-09
[InvoiceNumber] => XXAXXA
)
*注意到,我已经使用此嵌套的foreach获得结果
$join = array();
foreach ($names as $key => $value) {
foreach ($values as $key2) {
$join[][$value] = $key2;
}
}
但它返回致命错误:允许的内存大小为134217728字节,已用尽(试图分配29364224字节)
所以,如果你们有更有效的方法,我会敞开心to知道 谢谢你们
答案 0 :(得分:1)
您可以使用array_combine并将第一个数组用作键,将第二个数组用作值:
<MenuPrincipal onModalToggle={this.props.onModalToggle} />
输出:
$a = [
0 => "CreationDate",
1 => "OrderNumber",
2 => "OrderDate",
3 => "InvoiceNumber"
];
$b = [
0 => "2011-08-09",
1 => "123123",
2 => "2011-08-09",
3 => "XXAXXA"
];
print_r(array_combine($a, $b));
答案 1 :(得分:0)
$join = array();
foreach ($names as $key => $value) {
$join[$value] = $values[$key];
}
其中$names
和$values
是您的数组。
由于内存不足,我建议您取消设置原始数组。
$join = array();
foreach ($First as $key => $value) {
$join[$value] = $Second[$key];
unset($First[$key]);
unset($Second[$key]);
}
并使用array_keys($join)
获取第一个数组,并使用array_values($join)
获取第二个数组。