Hi ,all
1 2 | <code> $myarr =[ "22" =>1, "33" =>2]
</code>
|
登入後複製
登入後複製
当我用
1 2 3 4 | <code> $return = array_map ( function ( $v , $k ){
}, $myarr , array_keys ( $myarr ));
</code>
|
登入後複製
登入後複製
$return 怎么保持原来的key呢?
我发现,对于
1 2 3 4 | <code> array_map ( function ( $v ){
}, $myarr );
</code>
|
登入後複製
登入後複製
它是可以保持key的.
回复内容:
Hi ,all
1 2 | <code> $myarr =[ "22" =>1, "33" =>2]
</code>
|
登入後複製
登入後複製
当我用
1 2 3 4 | <code> $return = array_map ( function ( $v , $k ){
}, $myarr , array_keys ( $myarr ));
</code>
|
登入後複製
登入後複製
$return 怎么保持原来的key呢?
我发现,对于
1 2 3 4 | <code> array_map ( function ( $v ){
}, $myarr );
</code>
|
登入後複製
登入後複製
它是可以保持key的.
array_map()这个函数当回调函数里面只有一个参数(即只有一个数组时),回调函数单独对这个数组的值进行操作,也可以返回键,但array_map()操作两个数组时,你还要返回键?仔细想一想也不可能,函数是给你返回第一个数组的键呢?还是第二个数组的键呢?所以多个数组就不给你键了,只给你返回值……
1 想问的是,你是想实现什么样的功能呢?
2 如果想保存第一个数组的键值,你可以这样:
1 2 3 4 5 6 7 8 | <code> $arr1 = array ( 'b' => 'banana' , 'g' => 'grage' );
$arr2 = array ( 'a' => 'apple' , 'p' => 'pear' );
$return = array_map ( function ( $a , $b ){
return 'I love ' . $a . ' and ' . $b ;
}, $arr1 , $arr2 );
$return = array_combine ( array_keys ( $arr1 ), $return );
</code>
|
登入後複製