Bir dizinin bir parçası olsun

3 Cevap php

Ben bir dizi var:

$array = array(
  'key1' => 'value1',
  'key2' => 'value2',
  'key3' => 'value3',
  'key4' => 'value4',
  'key5' => 'value5',
);

Örneğin key2, key4, key5 - ve ben belirtilen tuşları ile bunun bir kısmını almak istiyorum.

Beklenen sonuç:

$result = array(
  'key2' => 'value2',
  'key4' => 'value4',
  'key5' => 'value5',
);

Bunu yapmak için en hızlı yolu nedir?

3 Cevap

Kullanmak array_intersect_key and array_fill_keys bunu yapabilirsiniz:

$keys = array('key2', 'key4', 'key5');
$result = array_intersect_key($array, array_fill_keys($keys, null));

array_flip instead of array_fill_keys de aynı işi görür:

$keys = array('key2', 'key4', 'key5');
$result = array_intersect_key($array, array_flip($keys));

Gördüğüm tek yol dizi yineleme ve yeni bir inşa etmektir.

Array_walk ile dizi yürümek ve yeni bir inşa veya eşleşen dizi oluşturmak ve ark array_intersect_key kullanın ya.