Php 如何将数组键复制到另一个数组,并用空数组替换值?
我有一个数组,f。e、 :Php 如何将数组键复制到另一个数组,并用空数组替换值?,php,arrays,Php,Arrays,我有一个数组,f。e、 : $arr = array( 4 => 'some value 1', 7 => 'some value 2', 9 => 'some value 3', 12 => 'some value 4', 13 => 'some value 5', 27 => 'some value 6', 41 => 'some value 7' ) 我需要创建另一个数组,其中的值将是数组,
$arr = array(
4 => 'some value 1',
7 => 'some value 2',
9 => 'some value 3',
12 => 'some value 4',
13 => 'some value 5',
27 => 'some value 6',
41 => 'some value 7'
)
我需要创建另一个数组,其中的值将是数组,但键将是相同的;像这样:
$arr = array(
4 => array(),
7 => array(),
9 => array(),
12 => array(),
13 => array(),
27 => array(),
41 => array()
)
PHP中是否有一些内置函数可以实现这一点<代码>数组密钥()对我没有帮助:
var_dump(array_keys($arr));
返回:
array(7) {
[0]=>
int(0)
[1]=>
int(1)
[2]=>
int(2)
[3]=>
int(3)
[4]=>
int(4)
[5]=>
int(5)
[6]=>
int(6)
}
这应该适合您: 仅从旧数组中删除您的,其中“ed”数组中充满了空数组
<?php
$newArray = array_combine(array_keys($arr), array_fill(0, count($arr), []));
print_r($newArray);
?>
试试这个。有关详细信息,您可以使用数组填充键() 试试这个:
foreach($arr as $key => $value) {
$array[$key] = array('a','b','c');
}
将值更改为数组保存键:
$arr2 = array_map(function ($i){
return array();
}, $arr);
结果
Array
(
[4] => Array ( )
[7] => Array ( )
[9] => Array ( )
[12] => Array ( )
[13] => Array ( )
[27] => Array ( )
[41] => Array ( )
)
数组_keys()对我没有帮助。顺便说一句,我认为我的解决方案比这更快,因为函数调用更少:)是的,这是可能的代码>,但是是的,这也是另一个更长的解决方案…而且速度慢40%:))谢谢。使用这个
数组填充键(数组填充键($arr),array())就足够了代码>,但是的,这也是另一个解决方案。。。
$arr2 = array_map(function ($i){
return array();
}, $arr);
Array
(
[4] => Array ( )
[7] => Array ( )
[9] => Array ( )
[12] => Array ( )
[13] => Array ( )
[27] => Array ( )
[41] => Array ( )
)