繁体   English   中英

更改PHP中关联数组索引的位置

[英]Change position of an associative array index in PHP

我在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] => Array([0] =>系统跳过了这一行,因为在Sheat中为字段“ description”输入了无效的值“”电子笔记本电脑”行号“ 4”))

我想在每次构建此数组时将[“ errors”]索引位置从倒数第二个更改为第二个[成功]索引位置。 这是一个动态数组,而不是静态数组,它在我返回该数组时对函数返回的函数进行构建。

您无需使其变得过于复杂或使用任何高级功能。 只需遵循一些简单的步骤。

  • 将错误子数组存储在另一个变量$ errorField中。
  • 取消设置数组索引“错误”
  • 将此$ errorField追加到新的键“错误”。

     $errorField = $array['errors']; unset($array['errors']); $array['errors'] = $errorField; 

您可以使用数组函数,但是到目前为止,最简单的更改方法是:

$newRow = ['savedRows' => $oldRow['savedRows'],
           'success'   => $oldRow['success'], 
           'errors'    => $oldRow['errors']];

但这是一个关联数组,而不是数字数组,因此顺序不应该那么重要。

为什么数组中的顺序很重要?

如果确实需要视觉效果,则应在使用数组之前对其进行初始化,并在填充数组时覆盖其值:

$arr = [
  'savedRows' => 0,
  'success' => '',
  'errors' => [],
]
// the rest of your code

请注意,顺序无关紧要,如果确实如此,则您有另一个应解决的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM