从关联数组中提取对象切片

时间:2016-03-20 10:13:36

标签: php arrays

我有一个关联数组,如下所示:

$array = array(
  'id1' => 'value1',
  'id2' => 'value2',
  'id3' => 'value3',
  'id4' => 'value4',
  'id5' => 'value5',
);

我想从数组中提取一片对象: 所以说我想要前两个对象,结果将是:

$array = array(
  'id1' => 'value1',
  'id2' => 'value2',
);

请注意,我不知道ID的值

array_slice($array, 0, 2)不是理想的结果,因为密钥将变为0和1。

是否有一种动态的方式而不必遍历它们?

2 个答案:

答案 0 :(得分:1)

array_slice函数的第四个参数是bool $preserve_keys = false

所以你的电话是:

array_slice($array, 0, 2, true);

答案 1 :(得分:1)

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] ) 接受另一个可选的布尔参数,如PHP的文档中所示。

MorseAudio = FC.getSelectedFile();
        try{
            AudioInputStream SpaceClip = AudioSystem.getAudioInputStream(Space);
            AudioInputStream Clip = AudioSystem.getAudioInputStream(MorseAudio);
            int BytesPerFrame = Clip.getFormat().getFrameSize();
            int SectionSize = 4410 * BytesPerFrame; 
            byte[] SpaceSection = new byte[SectionSize];
            SpaceClip.read(SpaceSection);
            byte[] SectionRead = new byte[SectionSize];
            Clip.read(SectionRead);
            if(SectionRead.equals(SpaceSection)){
                System.out.println("OKAY");
            }else{
                System.out.println("NOT OKAY");
            }
        }catch (Exception e){System.err.println(e);}
     

preserve_keys

     

请注意,array_slice()将默认重新排序并重置数值数组索引。您可以通过设置更改此行为   preserve_keys为TRUE。

所以,这可能是它。