映射值从一个平面阵列到另一个平面阵列

问题描述 投票:0回答:3
现在是...

$products = array( 0 => 'Pro 2', 1 => 'Pro 3', 2 => 'Pro 1' );
我似乎无法正确使用array_multisort。我已经尝试了2个小时的不同方式...

似乎这比某种更合适:
$products = array_map(function($i) use ($products) {
   return $products[$i];
}, $sort);

php arrays mapping
3个回答
9
投票

array_multisort

对第二个数组进行分类,并将排序顺序应用于第一个。为了完成您的工作,排序阵列必须为
$sort = array(2,0,1);
(表示:将第二个元素带到0、3的第3元素到1和第一个元素至2)。

2
投票

foreach ($sort as $key) { $sorted_products[] = $products[$key]; }

    

array_multisort()

将不会按照特定的代码来实现您要实现的目标。 there是一个函数:

function sort_by_other_array ($input, $order) {
  $result = array();
  foreach ($order as $item) {
    $result[] = $input[$item];
  }
  return $result;
}

1
投票
$order

中指定的密钥是否存在。

	

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.