首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关联数组操作- array("value1","value2") to array( Array ("keyname“=> "value1"),array("keyname”=> "value2"))

关联数组操作- array("value1","value2") to array( Array ("keyname“=> "value1"),array("keyname”=> "value2"))
EN

Stack Overflow用户
提问于 2012-05-04 21:25:31
回答 1查看 146关注 0票数 0

我要做的是获取一个基本的数组,其中包含默认的数字键:

代码语言:javascript
复制
$basic_array = array("value1", "value2", "value3")

我想把这个数组和一个关联数组合并起来,如下所示:

代码语言:javascript
复制
$associative_array = array(array("filename" => "value4"), array("filename" => "value5"), array("filename" => "value6"))

,因此关联数组中的每个数字键都包含一个额外的数组集。

最好是这样做:

代码语言:javascript
复制
$associative_array = array_merge(
    [combine $basic_array into temp_array set up with same 
        structure of $associative_array, and add $basic_array 
        values into temp_array]
    , $associative_array
);

显然,这取决于阵列操作函数的哪种组合(如果有的话)可以动态复制$associative_array结构,并用$basic_array的值填充每个子数组中的相应键,然后合并它们。

我这样做是因为我想使用associative_array对basic_array中的所有内容进行重复数据消除。

我目前正在这样做:

代码语言:javascript
复制
$manual_additions_filenames = array("vtlcvsp.pdf", "vtp.pdf", "vtpsai.pdf", "2990-2.pdf", "2990-8.pdf", "vtxbrl.zip", "vtfrisp.pdf", "vtp.pdf", "vtpsai.pdf", "1939-2.pdf", "cashcollateral.pdf", "cashreserves.pdf");

$associative_array_filenames = array(); //dummy one-dimensional array to store values in filename key of associative array

foreach ($associative_array as $key => $field_array)
{
    $associative_array_filenames[] = $field_array["filename"];
} //pull filename and put into one-dimensional array

$manual_additions = array_diff(
    array_unique($manual_additions_filenames), $associative_array_filenames
); //compare, to get list of unique filenames to be tacked on

foreach ($manual_additions as $value)
{
    $associative_array[]["filename"] = $value;
}

所有的原生php数组函数都旨在消除所有这些foreach循环,或者我是这么认为的,所以我很乐意把这些垃圾清理干净。

EN

回答 1

Stack Overflow用户

发布于 2019-12-17 04:45:15

试试这个:

代码语言:javascript
复制
$basic_array = array("value1", "value2", "value3");
$basic_array = array_unique($basic_array);
$associative_array = array_map(
    function($item) { 
        return ['file_name' => $item];
    }, 
    $basic_array);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10449763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档