相关疑难解决方法(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万
查看次数

使用字符串值自定义数组排序

假设我有这个数组:

$array = array(
    array("id" => 7867867, "animal" => "Dog"),
    array("id" => 3452342, "animal" => "Lion"),
    array("id" => 1231233, "animal" => "Lion"),
    array("id" => 5867867, "animal" => "Dog"),
    array("id" => 1111111, "animal" => "Zeebra"),
    array("id" => 2222222, "animal" => "Cat"),
    array("id" => 3333333, "animal" => "Cat"),
    array("id" => 4444444, "animal" => "Zeebra")
);
Run Code Online (Sandbox Code Playgroud)

现在我一直在尝试做的是使用php排序函数,以便能够根据特定规则对其进行排序(不是按字母顺序)

客户希望这些信息按"Lion first,Dog second,Zeebra third,Cat 4th"排序.

像这样的东西:

$array = array(
    array("id" => 3452342, "animal" => "Lion"),
    array("id" => 1231233, "animal" => "Lion"),
    array("id" => 7867867, "animal" => …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting

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

PHP根据另一个数组定义的顺序对数组进行排序

给定两个数组A1 []和A2 [],对A1进行排序,以使元素之间的相对顺序与A2中的相对顺序相同。对于A2中不存在的元素,最后按排序顺序附加它们。

Input: A1[] = {2, 1, 2, 5, 7, 1, 9, 3, 6, 8, 8}
       A2[] = {2, 1, 8, 3}
Output: A1[] = {2, 2, 1, 1, 8, 8, 3, 5, 6, 7, 9}
Run Code Online (Sandbox Code Playgroud)

尝试过:-

$sorted = array();

foreach($a1 as $key => $value) {
    if(in_array($value, $a2)) {
        $sorted[array_search($value, $a1)] = $value;
    }
}
Run Code Online (Sandbox Code Playgroud)

php

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

在PHP中按正则表达式组排序

我有一个这种形式的文件名数组:

"A - 1.2 - 平面图.PDF"

我需要首先按照开头的类别对数组进行排序,顺序如下:

1. Category: A
2. Category: ESC
3. Category: C
4. Category: M
5. Category: E
6. Category: P
Run Code Online (Sandbox Code Playgroud)

然后我需要按类别后面的数字对数组进行排序.

这是要排序的数组的示例:

$arr[0] = "A - 1.0 - Title Page.PDF";
$arr[1] = "A - 2.2 - Enlarged Floor Plans";
$arr[2] = "A - 2.1.0 - Structural Details.PDF";
$arr[3] = "E - 1.0 - Electrical Title Page.PDF";
$arr[4] = "A - 1.2 - Floor Plan.PDF";
$arr[5] = "P - 1.0 - Plumbing Title Page.PDF";
$arr[6] = …
Run Code Online (Sandbox Code Playgroud)

php regex sorting

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

标签 统计

php ×4

sorting ×3

arrays ×2

multidimensional-array ×1

regex ×1