Biz iki PHP-diziler var varsayalım:
$some_array = array('a','b','c','d','e','f');
$another_array = array(101,102,103,104,105,106);
PHP, bir Associative Array (AKA karma) yapımını, e, g, izin bazı Dizi-Fonksiyonlar var zaten;
$hash = array_combine(
$some_array,
$another_array
);
Ve işte geliyor. Ben daha işlevsel bir tarzda bir karma oluşturmak istiyorsanız, ben anahtarı ve değeri on the fly hesaplamak ve ({gibi, bir harita-operasyon ile karma oluşturmak istiyorsanız [(1)], ne yapmalıyım }):
# wishful thinking
$hash = array_map(
function($a, $b){ return ($a => $b); },
$some_array,
$another_array
);
Burada sorun beklenti, çizgi gibi görünüyor
...
function($a, $b){ return ($a => $b); }
...
gerçekten dönecekti an key value/pair of a hash - öyle değil ki.
S: Nasıl bir işlevi bir anahtar / değer çifti dönebilirsiniz - hangi bir ilişkisel dizi oluşturmak için kullanılabilir?
Addendum
Gerçekten aradığım açıktır yapmak için, ben karma nesil bir perl örnek vereceğiz:
...
# we have one array of characters (on which our hash generation is based)
my @array = qw{ a b c d e f };
# now *generate* a hash with array contents as keys and
# ascii numbers as values in a *single operation *
# (in Perl, the $_ variable represents the actual array element)
my %hash = map +($_ => ord $_), @array;
...
Sonuç (% hash):
a => 97
b => 98
c => 99
d => 100
e => 101
f => 102
Tepkiler, ben şimdi bu PHP imkansız olduğunu düşünmek istiyorum. Tüm respondends teşekkürler.