gpt4 book ai didi

php 唯一/组关联数组

转载 作者:行者123 更新时间:2023-12-03 22:53:09 28 4
gpt4 key购买 nike

我想删除以下数组的重复项。我想按第一个值分组,然后重建索引。

Array
(
[0] => Array
(
[title] => California
[state_id] => 1
)

[1] => Array
(
[title] => California
[state_id] => 1
)

[2] => Array
(
[title] => New Mexico
[state_id] => 2
)

[3] => Array
(
[title] => Washington
[state_id] => 3
)

[4] => Array
(
[title] => Montana
[state_id] => 4
)

[5] => Array
(
[title] => Montana
[state_id] => 4
)
)

Array
(
[0] => Array
(
[title] => California
[state_id] => 1
)

[2] => Array
(
[title] => New Mexico
[state_id] => 2
)

[3] => Array
(
[title] => Washington
[state_id] => 3
)

[4] => Array
(
[title] => Montana
[state_id] => 4
)

)

重建 key

Array
(
[0] => Array
(
[title] => California
[state_id] => 1
)

[1] => Array
(
[title] => New Mexico
[state_id] => 2
)

[2] => Array
(
[title] => Washington
[state_id] => 3
)

[3] => Array
(
[title] => Montana
[state_id] => 4
)

)

最佳答案

$array = array_values(array_combine(array_map(function ($i) { return $i['title']; }, $array), $array));

  • 提取title键(array_map)
  • 使用提取的标题作为新数组的键并将其与旧数组组合 (array_combine),这会删除数组的重复项(键必须是唯一的)
  • 通过 array_values 运行结果,丢弃键

分割:

$keys    = array_map(function ($i) { return $i['title']; }, $array);
$deduped = array_combine($keys, $array);
$result = array_values($deduped);

对于 PHP 5.2,您需要像这样编写匿名回调函数:

array_map(create_function('$i', 'return $i["title"];'), $array)

关于php 唯一/组关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7231260/

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