相关疑难解决方法(0)

在PHP中对多维数组进行排序?

我有这种阵列

array(5) {
  [0]=>
  array(5) {
    [0]=>
    string(7) "jannala"
    [1]=>
    string(10) "2009-11-16"
    [2]=>
    string(29) "
            <p>Jotain mukavaa.</p>
        "
    [3]=>
    int(12)
    [4]=>
    int(1270929600)
  }
  [1]=>
  array(5) {
    [0]=>
    string(7) "jannala"
    [1]=>
    string(10) "2009-11-16"
    [2]=>
    string(51) "
            <p>Saapumiserä II/09 astuu palvelukseen</p>
        "
    [3]=>
    int(11)
    [4]=>
    int(1270929600)
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

我需要做的是根据数组的[x] [4](unix时间戳值)对数组进行排序.我怎么做到这一点?

php arrays sorting multidimensional-array

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

如何在php中对关联数组进行排序

我有mysql表即

id | a | b | c | d |ud_id
 1 | 20| 8 | 45| 18| 1

现在我想在php中检索该数据对数组进行排序并找到此示例中的最高字段(c = 45)

$query="SELECT `a`, `b`, `c`, `d` from table where ud_id=1";
$rs=mysql_query($query) or die(mysql_error());
$row=mysql_fetch_array($rs);


但是我如何对这个关联数组进行排序并找到最高的关键字.

php mysql

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

按特定键的值对数组进行排序

我有一个这样的阵列:

$currentTerm = array(
  'name' => $term->name,
  'weight' => $term->weight
);
Run Code Online (Sandbox Code Playgroud)

我想用weight密钥对整个数组进行排序.我无法弄清楚如何实现这一目标.有什么想法或者我应该为此编写自定义功能吗?

PS一些重量可以相同; 所以将它们存储为钥匙不是一种选择.并且它是多维的,具有子键,以与上面相同的方式递归填充.

php arrays sorting

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

冒泡排序数组,我怎样才能使这个php冒泡排序代码更好或更有效?

如何让这个php冒泡排序代码更好或更有效?

// bubble sort for $AR 
for($i = count($AR)-1 ; $i <= 1; $i--) 
   for($j = 0; $j < $i; $j++) {
      if($AR[$j] > $AR[$j+1]) {
          $t = $AR[$j];
          $AR[$j] = $AR[$j+1];
          $AR[$j+1] = $t;
       } //if
   } //for j 
Run Code Online (Sandbox Code Playgroud)

php

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

PHP数组中仅非零值的排序

我只想对数组中那些不是 0 的值进行排序,并且所有 0 值键都应该在底部。所以例如如果我们的数组是这样的 -

array
{
    [0]=>4
    [1]=>0
    [2]=>2
    [3]=>0
    [4]=>3
}
Run Code Online (Sandbox Code Playgroud)

所以排序的数组我应该像下面这样

array
{
    [2]=>2
    [4]=>3
    [0]=>4
    [1]=>0
    [3]=>0
}
Run Code Online (Sandbox Code Playgroud)

php arrays

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

PHP根据数组中的索引对数组进行排序

假设您有一个如下所示的数组:

$myArray []= array('firstname' => 'John' , 'lastname'=> 'Johnson');

$myArray []= array('firstname' => 'Adam' , 'lastname'=> 'Tyson');

$myArray []= array('firstname' => 'Mike' , 'lastname'=> 'Robinson');

$myArray []= array('firstname' => 'David' , 'lastname'=> 'Jackson');
Run Code Online (Sandbox Code Playgroud)

你如何根据姓氏对$ myArray进行排序?

php arrays sorting asort

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

如何通过乘法键对多维数组进行排序?

我正在尝试使用多维数组执行与mySQL查询"SELECT*FROM table ORDER BY field1,field2,..."相同的操作:

$Test = array(
    array("a"=>"004", "n"=>"03"),
    array("a"=>"003", "n"=>"02"),
    array("a"=>"001", "n"=>"02"),
    array("a"=>"005", "n"=>"01"),
    array("a"=>"001", "n"=>"01"),
    array("a"=>"004", "n"=>"02"),
    array("a"=>"003", "n"=>"01"),
    array("a"=>"004", "n"=>"01")
);
function msort(&$array, $keys){
    array_reverse($keys);
    foreach($keys as $key){
        uasort($array, sortByKey);
    }
    //
    function sortByKey($A, $B){

        global $key;

        $a = $A[$key];
        $b = $B[$key];
        if($a==$b) return 0;
        return ($a < $b)? -1 : 1 ;
    }
}
//
msort($Test, array("a","n"));
//
foreach($Test as $t){
    echo('<p>'.$t["a"].'-'.$t["n"].'</p>');
}
Run Code Online (Sandbox Code Playgroud)

我的理论是:如果我将多次乘法排序为最重要的密钥,那么我会按照mySQL查询的顺序排序.

但是php正在返回"警告:uasort()期望参数2是有效的回调函数,函数'sortByKey'未找到或者在第23行的/Library/WebServer/Documents/www/teste.array_sort.php中找到无效的函数名"(uasort)线)

这是一个简单的订单功能,我错过了什么?

php sorting multidimensional-array

0
推荐指数
2
解决办法
701
查看次数

如何使用usort按多个字段对php数组进行排序

usort($childs, function($a, $b) {
    return $a['parent_id'] - $b['parent_id'];
});
Run Code Online (Sandbox Code Playgroud)

在这里,我用1个字段对它进行排序,如何添加更多字段来对它们进行排序?,就好像它是ORDER BY field1, field2, field3在Mysql中一样

php mysql php-5.4

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

如何对array_count_values()的结果进行排序?

是我的代码:

<?php
$array = array("world", 1, "hello", 1, "hello", "hello", "how");
$new_array = array_count_values($array);
print_r($new_array);
?>

/* Output:
Array
(
    [world] => 1
    [1] => 2
    [hello] => 3
    [how] => 1
)
Run Code Online (Sandbox Code Playgroud)

现在我想根据新数组的值对结果进行排序.所以这是预期的输出:

/* Expected Output:
Array
(
    [hello] => 3
    [1] => 2
    [world] => 1
    [how] => 1
)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

注意:相同值的顺序无关紧要.

php sorting function

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

如何按名称/时间戳排序多维数组?

我使用了"rsort"功能,通过时间戳进行排序,当阵列仅包含时间戳和不多维的.

所以现在的问题是我如何处理这个问题?

该阵列看起来像similair

Array
(
    [0] => Array
        (
            [type] => post
            [id] => 1
            [timestamp] => 2017-08-12 21:03:22
            [poster] => 1
            [profile] => 1
            [post] => Testtttttinngggs
        )

    [1] => Array
        (
            [type] => post
            [id] => 2
            [timestamp] => 2017-08-12 21:03:18
            [poster] => 1
            [profile] => 5
            [post] => Hello you
        )

    [2] => Array
        (
            [type] => post
            [id] => 3
            [timestamp] => 2017-08-12 21:03:33
            [poster] => 1
            [profile] => 1
            [post] => Somesay timestamp is screwed …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting

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

在php中排序数组数组

我有一个像这样创建的数组:

$i = 0;

$files = array();   

while ($file = mysql_fetch_array($query_files)) {
    $files[$i] = array();
    $files[$i] = $file;
    $i++;
}
Run Code Online (Sandbox Code Playgroud)

我需要能够根据每个$ file ['name']又名$ files [$ i] ['name']对$ files数组进行排序.

我该怎么做呢?谢谢!

php mysql arrays sorting

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

在php中按最后一个字符对数组列表进行排序

在 PHP 中,如何根据数组值的最后一个字符对数组进行排序?以以下数组为例:

$string[0] = "They";
$string[1] = "started";
$string[2] = "plotting";
$string[3] = "against";
$string[4] = "him";
Run Code Online (Sandbox Code Playgroud)

排序后,数组将如下所示(请注意基于每个值的最后一个字符的顺序...还要注意重写的索引):

$string[0] = "started";
$string[1] = "plotting";
$string[2] = "him";
$string[3] = "against";
$string[4] = "they";
Run Code Online (Sandbox Code Playgroud)

php

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

在php中按降序排序数组值

我的数组是这种格式

Array
(
    [0] => 1,3
    [1] => 2,0
    [2] => 5,2
    [3] => 28,1
    [4] => 30,2
    [5] => 33,0
    [6] => 36,0
    [7] => 38,0
    [8] => 39,0
    [9] => 40,0
    [10] => 42,2
    [11] => 45,6
    [12] => 56,1
    [13] => 58,1
    [14] => 68,0
    [15] => 70,0
    [16] => 71,0
    [17] => 75,0
    [18] => 76,0
    [19] => 77,0
    [20] => 78,0
    [21] => 83,1
    [22] => 86,0
    [23] => 87,2
    [24] => 88,0
    [25] => …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting

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

标签 统计

php ×13

sorting ×8

arrays ×7

mysql ×3

multidimensional-array ×2

asort ×1

function ×1

php-5.4 ×1