Php 多维数组中多个键的动态重命名
我正在编写一个将数组导入另一个数组的代码 将持续存在的阵列车辆:Php 多维数组中多个键的动态重命名,php,arrays,Php,Arrays,我正在编写一个将数组导入另一个数组的代码 将持续存在的阵列车辆: array ( 0 => array ( 'Brand' => 'Volvo', 'Stock Value' => 100, 'Models' => 96, ), 1 => array ( 'Brand' => 'BMW', 'Stock Value' => 60, 'Models' => 59, ),
array (
0 =>
array (
'Brand' => 'Volvo',
'Stock Value' => 100,
'Models' => 96,
),
1 =>
array (
'Brand' => 'BMW',
'Stock Value' => 60,
'Models' => 59,
),
2 =>
array (
'Brand' => 'Toyota',
'Stock Value' => 110,
'Models' => 100,
),
)
要导入的数组emobile:
array (
0 =>
array (
'Maker' => 'Tesla',
'Price' => 100,
'Factories' => 96,
'Employees' => 10,
),
1 =>
array (
'Maker' => 'Nikola',
'Price' => 60,
'Factories' => 59,
'Employees' => 10,
),
2 =>
array (
'Maker' => 'Thor',
'Price' => 110,
'Factories' => 100,
'Employees' => 10,
),
)
Post Data$pst_数据键=目标结构,值=当前结构,-未分配:
array (
'Brand' => 'Maker',
'Stock_Value' => '---',
'Models' => '---',
'flag' => '---',
)
我的密码。在其当前阶段,我可以让它恰好显示导入数组中的值,例如制造商的名称,或者我选择两个股票值作为第二个值,其中有结构,但没有值
foreach ($kar as $xk => $vx) {
if(!in_array($vx, $pst_data)){
foreach ($emobile as &$xkone) {
unset($xkone[$vx]);
}
}
else {
foreach ($pst_data as $pstd => $pstd_val) {
foreach ($emobile as &$xkone) {
$xkone[$pstd] = $xkone[$pstd_val];
unset($xkone[$pstd_val]);
}
}
}
}
我的目标是:
Array
(
[0] => Array
(
[Brand] => Volvo
[Stock Value] => 100
[Models] => 96
[flag] => 1
)
[1] => Array
(
[Brand] => BMW
[Stock Value] => 60
[Models] => 59
[flag] => 1
)
[2] => Array
(
[Brand] => Toyota
[Stock Value] => 110
[Models] => 100
[flag] => 1
)
[3] => Array
(
[Brand] => Tesla
[Stock Value] => 100
[Models] =>
[flag] =>
)
[4] => Array
(
[Brand] => Nikola
[Stock Value] => 60
[Models] =>
[flag] =>
)
[5] => Array
(
[Brand] => Thor
[Stock Value] => 110
[Models] =>
[flag] =>
)
)
所以我的目标是选择一个数组导入另一个数组。在表单中,我将导入数组中的键分配给现有数组,并将其提交以创建一个以键和已分配键为值的数组。如果指定的值(如Maker)存在,则该键将保留在导入的数组中。所有其他钥匙都将被取下。以下是密钥的重命名,例如从制造商到品牌,从价格到股票价值。然后用array_merge合并这两个数组
如何解决该问题以使用导入数组中的单个和多个值
编辑
使用$pst_数据的单个数据分配示例:
以及第一个新插入数组的示例结果:
[3] => Array
(
[Brand] => Tesla
[Stock_Value] =>
[Models] =>
[flag] =>
)
[3] => Array
(
[Brand] =>
[Stock_Value] =>
[Models] =>
[flag] =>
)
使用$pst_数据分配的多个数据示例:
以及第一个新插入数组的示例结果:
[3] => Array
(
[Brand] => Tesla
[Stock_Value] =>
[Models] =>
[flag] =>
)
[3] => Array
(
[Brand] =>
[Stock_Value] =>
[Models] =>
[flag] =>
)
切换循环。在外循环中,遍历数据。在内部循环中,遍历属性 为映射项使用新变量。它可以在循环结束时替换$xkone以修改现有阵列 foreach$emobile as和$xkone{ $car=[]; foreach$pst\u数据为$pstd=>$pstd\u val{ $car[$pstd]=$xkone[$pstd\u val]?空; } $xkone=$car; }
请始终以json字符串或var_导出的形式呈现项目的数组数据-这使志愿者更容易帮助您。当您使用var_dump或print_r时,志愿者需要手动重写您的数组,以便测试他们自己的建议。您的示例数据需要表示数据中所有预期的困难。如果在两个数组中有重复的品牌值,请设置示例数据以显示该值,然后显示确切的所需输出。在var_导出调用之前使用,以便读者无需水平滚动。然后您可以从问题中删除旧的打印数据。老实说,我还没有发现你的问题要求是明确的。请提供代表单个和多个值的数据。请显示一个在线演示。这会产生任何通知吗?您建议在else语句中插入代码,对吗?Jasny,问题似乎仍然存在。