如何用预定义值替换数组键

发布于 2024-12-19 02:29:02 字数 453 浏览 0 评论 0原文

假设我有以下情况:

我有一个像这样的数组:

$array = array(1 => "text1",2 => "text2", 3 => "Text3" , 4 => "Text4");

在某些函数之后,我收到一个包含这些值的字符串:

$string = "2,1,4,3"; // this values are dynamic 

我想要实现的是在字符串的数组中对该数组($array)进行排序命令;所以结果应该是:

<--- some function --- > 
$result = array(2 => "text2",1=> "text1",4=>"Text4",3=>"Text3"));

Assuming that I have following situation:

I have an array like this:

$array = array(1 => "text1",2 => "text2", 3 => "Text3" , 4 => "Text4");

After some functions I receive a string which contains these values:

$string = "2,1,4,3"; // this values are dynamic 

What I want to achieve is to sort that array ($array) in the string's order; so the result should be:

<--- some function --- > 
$result = array(2 => "text2",1=> "text1",4=>"Text4",3=>"Text3"));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

水溶 2024-12-26 02:29:02
$keyArr = explode(',', $string);
$sortedArr = array();

foreach ($keyArr as $key)
{
    $sortedArr[$key] = $array[$key];
}
$keyArr = explode(',', $string);
$sortedArr = array();

foreach ($keyArr as $key)
{
    $sortedArr[$key] = $array[$key];
}
塔塔猫 2024-12-26 02:29:02

PHP 的 array_multisort() 函数 - http://php. net/manual/en/function.array-multisort.php

未经测试,但可能类似于:

array_multisort(explode(",", $string), $array);

密钥可能会丢失。

PHP's array_multisort() function - http://php.net/manual/en/function.array-multisort.php

Untested, but probably something like:

array_multisort(explode(",", $string), $array);

Keys may get lost though.

﹏半生如梦愿梦如真 2024-12-26 02:29:02
  1. 使用 explode 将字符串分解为索引
  2. 创建一个空数组 $result
  3. 迭代分解的键数组,执行 $result[$key] = $input[ $key]

查看实际操作

  1. Break up the string into indexes with explode
  2. Make an empty array $result
  3. Iterate over the exploded array of keys, doing $result[$key] = $input[$key]

See it in action.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文