相关疑难解决方法(0)

按自定义顺序对php数组排序

我有一个数组数组:

Array ( 
    [0] => Array (
        [id] = 7867867,
        [title] = 'Some Title'),
    [1] => Array (
        [id] = 3452342,
        [title] = 'Some Title'),
    [2] => Array (
        [id] = 1231233,
        [title] = 'Some Title'),
    [3] => Array (
        [id] = 5867867,
        [title] = 'Some Title')
)
Run Code Online (Sandbox Code Playgroud)

需要按特定顺序进行:

  1. 3452342
  2. 5867867
  3. 7867867
  4. 1231233

我该怎么做呢?我之前已对数组进行了排序,并阅读了大量有关它的其他帖子,但它们始终是基于比较的(即valueA <valueB).

感谢帮助.

php arrays sorting multidimensional-array

52
推荐指数
4
解决办法
5万
查看次数

php关联数组键顺序(不排序)

我的阵列:

$data = array('two' => 2, 'one' => 1, 'three' => 3);
Run Code Online (Sandbox Code Playgroud)

现在,当我迭代数组时,将出现的第一个值可能是

$data['two'] // = 2 @ index[0]
Run Code Online (Sandbox Code Playgroud)

对?

如果我想将$ data [1]移动到$ data [0]的位置怎么办?

改写:

如何使数组看起来像这样(以便'$'出现在$ data [0])

$data = array('one' => 1, 'two' => 2, 'three' => 3
Run Code Online (Sandbox Code Playgroud)

我为什么需要这个?

我使用代码点火器,table-> generate内置函数接受一个assoc数组并创建一个表,但不提供排列列的方法.这就是我想移动源数组中的列的原因.

php arrays associative

14
推荐指数
2
解决办法
2万
查看次数

PHP-Sort数组基于另一个数组?

好吧,我已经在stackoverflow中得到了这个问题,但遗憾的是它是在javascript中 - Javascript - 基于另一个数组的排序数组

我希望它在PHP中

$data = array(
   "item1"=>"1",
   "item2"=>"3",
   "item3"=>"5",
   "item4"=>"2",
   "item5"=>"4"
);
Run Code Online (Sandbox Code Playgroud)

匹配此数组的排列:

sortingArr = array("5","4","3","2","1");
Run Code Online (Sandbox Code Playgroud)

和我正在寻找的输出:

$data = array(
    "item3"=>"5",
    "item5"=>"4",
    "item2"=>"3",
    "item4"=>"2",
    "item1"=>"1"
 );
Run Code Online (Sandbox Code Playgroud)

知道如何做到这一点?谢谢.

php arrays sorting

14
推荐指数
3
解决办法
2万
查看次数

PHP按另一个数组(表)按键对数组进行排序

我有一个数组作为表:

$sortLikeThis = [
    '5',
    '3',
    '7'
    '1',
];

$unsorted = [
    [
        'sort' => '7',
        'name' => 'Test',
    ],
    [
        'sort' => '1',
        'name' => 'Test 2',
    ],
    [
        'sort' => '3',
        'name' => 'Test 3',
    ],
    [
        'sort' => '5',
        'name' => 'Test 4',
    ],
    [
        'sort' => '7',
        'name' => 'Test 4',
    ],
]
Run Code Online (Sandbox Code Playgroud)

我想通过排序键获得分拣数组($ unsorted),如$ sortLikeThis.

例如:

$output = [
    [
        'sort' => '5',
        'name' => 'Test 4',
    ],
    [
        'sort' => '3',
        'name' => 'Test …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting

2
推荐指数
1
解决办法
76
查看次数

使用usort对数组进行排序

我有一个包含北,东,南或西值的数组.

例如,我得到了一个数组,其数值按此顺序排列:南,西和北.

现在我想对北,东,南,西排列数组.

因此,在我的示例中,值应按此顺序排列:北,南,西.

我怎样才能做到这一点?

谢谢!

php arrays sorting usort

1
推荐指数
1
解决办法
137
查看次数

基于其他数组的订单数组

我有一个逗号分隔的字符串/数组:

$input = "facebook,steam,tumblr,email,instagram,twitter,twitch,youtube,pinterest,amazon,disqus";
$input = explode(",", $input);
Run Code Online (Sandbox Code Playgroud)

我想基于另一个数组进行排序:

$order = "email,facebook,instagram,twitter,twitch,youtube,steam,pinterest,tumblr,amazon,disqus";
$order = explode(",", $order);
Run Code Online (Sandbox Code Playgroud)

$input将始终包含in的值,$order我希望根据它的出现顺序对其进行排序$order。这有点棘手,因为$input它将只包含来自的值的子集$order

例如,输入twitter,twitch,email,facebook将会返回email,facebook,twitter,twitch


我已经找到了此解决方案,但是它不适用,因为我没有处理数组中的键。

php arrays

1
推荐指数
1
解决办法
123
查看次数

Usort,无需替换密钥PHP

我遇到了主要的usort()问题!:(因此,基本上我想按它们的值对数组进行排序。我希望这些值以以下顺序显示:白金,黄金,白银,青铜,完整,无,不完整。现在我可以很好地对其进行排序,但是我想保留其密钥(可能吗?),这是我的代码:

function compareMedals( $a, $b ) {
    $aMap = array(1 => 'Platinum', 2 => 'Gold', 3 => 'Silver', 4 => 'Bronze', 5 => 'Complete', 6 => 'None', 7 => 'Uncomplete');
    $aValues = array( 1, 2, 3, 4, 5, 6, 7);
    $a = str_ireplace($aMap, $aValues, $a);
    $b = str_ireplace($aMap, $aValues, $b);
    return $a - $b;
}
usort($list, 'compareMedals');
Run Code Online (Sandbox Code Playgroud)

那么可以在保留密钥的同时对它们进行排序吗?谢谢!:)

编辑

数组:

$array = array("post1" => 'Platinum', "Post2" => "Bronze, "Post3" = > Gold)
Run Code Online (Sandbox Code Playgroud)

应该输出:

"Post1" => 'Platinum',
"Post3" => 'Gold',
"Post2" …
Run Code Online (Sandbox Code Playgroud)

php arrays usort

0
推荐指数
1
解决办法
532
查看次数