我在PHP中有一个关联数组。我想改变数组索引的位置及其值。
Array
(
[savedRows] => 1
[errors] => Array
(
[0] => System has Skipped this row, because you have enter not valid value "" for field "description" in sheat "Electronics Laptops" row number "4"
)
[success] => successfully saved.
)
喜欢这个
Array
( [savedRows] => 1 [success] =>成功保存。 [errors] =>排列 ( [0] =>系统已跳过此行,因为您已在“电子笔记本电脑”行号“4”中为字段“description”输入无效值“” ) )
我希望将 [“errors”] 索引位置从第二个更改为最后一个,并在此次数组构建时将 [success] 索引位置更改为秒。这是一个动态数组,而不是它在函数函数调用返回时构建的静态我得到这个数组。
答案 0 :(得分:3)
你不需要太复杂或使用任何花哨的功能。只需按照几个简单的步骤即可完成。
将此$ errorField附加到新密钥"错误"。
$errorField = $array['errors'];
unset($array['errors']);
$array['errors'] = $errorField;
答案 1 :(得分:3)
您可以使用数组函数,但到目前为止,更改它的最简单方法是:
$newRow = ['savedRows' => $oldRow['savedRows'],
'success' => $oldRow['success'],
'errors' => $oldRow['errors']];
但它是一个关联数组,而不是数字数组,所以顺序不应该那么重要。
答案 2 :(得分:2)
为什么数组中的顺序很重要?
如果你真的需要它,你应该在使用它之前初始化你的数组,并在你填充它时覆盖它们:
$arr = [
'savedRows' => 0,
'success' => '',
'errors' => [],
]
// the rest of your code
请注意,顺序无关紧要,如果有,则还有其他问题需要修复。