gpt4 book ai didi

php - 在键控 PHP 数组中移动键/值

转载 作者:行者123 更新时间:2023-12-04 04:58:43 25 4
gpt4 key购买 nike

我有一个这样的数组:

array (size=8)
'cb' => string '<input type="checkbox"/>' (length=24)
'title' => string 'Name' (length=4)
'download_category' => string 'Categories' (length=10)
'download_tag' => string 'Tags' (length=4)
'price' => string 'Price' (length=5)
'sales' => string 'Sales' (length=5)
**'earnings' => string 'Earnings' (length=8)**
'shortcode' => string 'Purchase Short Code' (length=19)
'date' => string 'Date' (length=4)

现在我想要做的是将“ yield ”一个移动到第三个位置,如下所示:
array (size=9)
'cb' => string '<input type="checkbox"/>' (length=24)
'title' => string 'Name' (length=4)
**'earnings' => string 'Earnings' (length=8)**
'download_category' => string 'Categories' (length=10)
'download_tag' => string 'Tags' (length=4)
'price' => string 'Price' (length=5)
'sales' => string 'Sales' (length=5)
'shortcode' => string 'Purchase Short Code' (length=19)
'date' => string 'Date' (length=4)

这个数组的前 9 个元素是静态的,因为顺序是固定的,但如果重要的话,这个数组可能会有更多元素(在“日期”之后)。

因此,我正在寻找一种简单的方法来将第 x 个元素移动到当前第 3 个元素的位置之前。

我尝试过的一件事是将前 2 个元素保存到一个变量中,然后取消设置它们。我还将收入元素取消设置为变量。所以数组从第三个元素开始。然后,因为我希望我的元素在第 3 个元素之前,并且我需要将其他 2 个元素放回原处,如下所示:
$first = $array[0];
$second = $array[1];
$earnings_element = $array['earnings'];
unset($array[0]);
unset($array[1]);
unset($array['earnings']);
array_unshift($array,$first,$second,$earnings_element);

问题是我丢失了元素名称(它变成了 1,2 等的键值)或插入回 unshift 中的元素的值。

有人知道更简单的方法吗?

编辑:我在下面的代码中使用“array”作为数组的名称。它不是实际数组的名称。

最佳答案

试试这个:

$front = array_slice($array,0,2);
$front['earnings'] = $array['earnings'];
$back = array_slice($array,2);
unset($back['earnings']);
$array = array_merge($front,$back);

关于php - 在键控 PHP 数组中移动键/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16420855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com