array_merge和array_slice潜在的坑

$a = array(
'87.17' => '666',
    '85.73' => '666',
    '83.71' => '666',
    '82.01' => '666',
    '82' => '666',
    // '8' => '6660',
);


$b = array(
    '80.89' => '666',
    '76.45' => '666',
    '72.29' => '1168574425',
    '62.81' => '1168567331',
    '57.48' => '1168567332',
    '52.43' => '1168566771',
    '40.9' => '1168566586',
    '39.08' => '1168568478',
    '33.15' => '1168567179',
    '30.3' => '1168574426'
);


$c = array_merge($a, $b);
// $c = $a + $b;

print_r($c);

Array
(
    [87.17] => 666
    [85.73] => 666
    [83.71] => 666
    [82.01] => 666
    [0] => 666
    [80.89] => 666
    [76.45] => 666
    [72.29] => 1168574425
    [62.81] => 1168567331
    [57.48] => 1168567332
    [52.43] => 1168566771
    [40.9] => 1168566586
    [39.08] => 1168568478
    [33.15] => 1168567179
    [30.3] => 1168574426
)
整数的key变成0了  array_merge可以改用+  不过用+要注意相同的key就不会添加问题


$a = array
(
    '69.67' => 666,
    '69.66' => 666,
    '69.65' => 111,
    '62.16' => 111,
    '56.18' => 111,
    '52.08' => 111,
    '51.5' => 111,
    '44.19' => 111,
    '42.69' => 111,
    '37.02' => 111,
    '30.16' => 111,
    '30' => 111
);
print_r(array_slice($a, -3));

Array
(
    [37.02] => 111
    [30.16] => 111
    [0] => 111
)
整数的key变成0了   可以改用array_slice($a, -3, 3, true)


array_slice 第四个参数

preserve_keys

注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将 preserve_keys 设为 TRUE 来改变此行为。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值