Nasıl bu iki PHP dizi birleştirmek?

0 Cevap php

Ben bir resim yönetim sisteminin parçası olan php iki diziler var.

weighted_images Çok boyutlu bir dizi. Her alt dizi birleşmeli (tarafından sipariş için) 'ağırlık' ve tuşları ile dizi ve 'id' (resmin kimliği) 'dir.

array(
    156 => array('weight'=>1, 'id'=>156),
    784 => array('weight'=>-2, 'id'=>784),
)

images Bu dizi kullanıcı girişi olduğunu. Bu görüntü kimlikleri bir dizi var.

array(784, 346, 748)

Ben görüntünün ağırlığı tarafından sipariş kimlikleri tek bir dizi için bunları birleştirmek istiyorum. Bir görüntü bir ağırlık yoksa sonuna eklenecek.

Ancak benim çözüm çok zarif olduğunu ve must bunu yapmak için daha iyi bir yolu var olması düşünmeden edemiyorum özellikle zor bir problem değil.

$t_images = array();
foreach ($weighted_images as $wi) {
  if ( in_array($wi['id'], $images) ) {
    $t_images[$wi['weight']] = $wi['id'];
  }
}
foreach ($images as $image) {
  if ( !$weighted_images[$image] ) {
    $t_images[] = $image;
  }
}
$images = $t_images;

Question: Is there a better way to do this?

0 Cevap