Çoğaltmak istediğim bir PHP dizilim var, ancak yalnızca anahtarları başka bir dizide görünen diziden öğeleri kopyala. İşte PHP dizisi yerleşik tuşları, belirli işlevleri kopyalamak? İç içe döngü performansı?
benim diziler şunlardır:$data[123] = 'aaa';
$data[423] = 'bbb';
$data[543] = 'ccc';
$data[231] = 'ddd';
$data[642] = 'eee';
$data[643] = 'fff';
$data[712] = 'ggg';
$data[777] = 'hhh';
$keys_to_copy[] = '123';
$keys_to_copy[] = '231';
$keys_to_copy[] = '643';
$keys_to_copy[] = '712';
$keys_to_copy[] = '777';
$copied_data[123] = 'aaa';
$copied_data[231] = 'ddd';
$copied_data[643] = 'fff';
$copied_data[712] = 'ggg';
$copied_data[777] = 'hhh';
elimden bu gibi veri dizisi ile sadece döngü:
foreach ($data as $key => $value) {
if (in_array($key, $keys_to_copy)) {
$copied_data[$key] = $value;
}
}
Ama bu MySQL sonucu veri alıyor bir döngü içine neler olacak ayarlayın. Yani bir MySQL veri döngüsünde iç içe bir döngü olurdu. Normalde aradığım sonucu elde etmek için PHP'nin yerleşik dizi işlevlerini kullanmanın bir yolu olmadıkça yuvalanmış döngülerden kaçınıyorum. Ama aynı zamanda bir MySQL veri döngüsünde yuvalanmış bir döngüye sahip olmaktan bıktım, MySQL'in etrafta takılı kalmasını istemiyorum.
İç içe döngü performansı konusunda gereksiz yere endişeleniyorum, çünkü bunu birkaç yüz satırlık veriden ve 10 anahtardan fazlası için yapamayacağım.
Ancak, yerleşik PHP işlevleriyle bunu yapmanın bir yolu olup olmadığını bilmek istiyorum.
array_intesect_key()
'a bir göz attım, ancak bu tam olarak yapmıyor çünkü $keys_to_copy
dizim tuşlarımdan ziyade dizi değerleri olarak istenen anahtarlarıma sahip.
Herhangi bir fikri olan var mı?
Alkış, B
Neden ana anahtar olarak '$ keys_to_copy' kullanmıyorsunuz? – Yoshi