Ben görünüşte çok basit bir şey yapmak istiyorum, ama bu konuda bir şey bulamıyorum: basitçe array_splice benzer bir dizinin bir alt kümesini ayıklamak, ancak using keys to retrieve the values:
$data = array('personName' => 'John', 'personAge' => 99, 'personId' => 1,
/* many more data I don't need here ... */);
list($name, $age, $id) = array_splice_by_keys($data,
array('personName', 'personAge', 'personId');
Bütün bunlardan başarısız olursa, tuşları ile ilişkilendirilebilir bir dizi filtre yerleşik bir işlevi var değil mi? Örneğin:
$filteredArray = array__extract__keys__and__values($srcArray, $arrayOfWantedKeys);
// create a new array with ONLY those key => values I need
$wanted_values = array_extract_keys_and_values($data,
array('personName', 'personAge', 'personId');
echo $wanted_values['personName'];
Ben ilkini yapmak istiyorum nedeni sanırım, benim tüm kod üzerinde ilişkisel dizi erişimi tekrarlamak için sevmiyorum ki, örneğin bir döngü içinde çok kullanılan değerleri (kopyalamak için daha iyi optimize edilmiş gibi görünüyor ), yerel bir değişkene, artı $ someArray ['name'] daha isim $ yazmanız çok daha kolay.
EDIT: Teşekkürler, ben liste ile kullanım için sanırım, çözüm olurdu
list($x, $y, $z) = array_values(array_intersect_key($array, array_flip($wantedKeys)));
Array_flip arasında Intesresting kullanın!