相关疑难解决方法(0)

Reference — What does this symbol mean in PHP?

What is this?

This is a collection of questions that come up every now and then about syntax in PHP. This is also a Community Wiki, so everyone is invited to participate in maintaining this list.

Why is this?

It used to be hard to find questions about operators and other syntax tokens.¹
The main idea is to have links to existing questions on Stack Overflow, so it's easier for us to reference them, not to copy over content from …

php arguments symbols operators

4314
推荐指数
21
解决办法
63万
查看次数

如何在PHP中对数组和数据进行排序?

此问题旨在作为有关在PHP中排序数组的问题的参考.很容易认为您的特定情况是独一无二的,值得一个新问题,但大多数实际上是本页面上其中一个解决方案的微小变化.

如果您的问题与此问题的副本相同,请仅在您能够解释为何与以下所有问题明显不同时才要求重新打开您的问题.

如何在PHP中对数组进行排序?
如何在PHP中对复杂数组进行排序?
如何在PHP中对对象数组进行排序?


  1. 基本的一维数组; 含.多维数组,包括 对象数组; 含.基于另一个排序一个数组

  2. 使用SPL排序

  3. 稳定的排序

有关使用PHP现有函数的实际答案,请参阅1.,有关排序算法的学术详细答案(PHP的函数实现以及您可能需要哪些非常复杂的案例),请参阅参考资料2.

php arrays sorting spl object

283
推荐指数
5
解决办法
6万
查看次数

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

我将CSV数据加载到多维数组中.这样,每个"行"都是一个记录,每个"列"包含相同类型的数据.我正在使用下面的函数加载我的CSV文件.

function f_parse_csv($file, $longest, $delimiter)
{
  $mdarray = array();
  $file    = fopen($file, "r");
  while ($line = fgetcsv($file, $longest, $delimiter))
  {
    array_push($mdarray, $line);
  }
  fclose($file);
  return $mdarray;
}
Run Code Online (Sandbox Code Playgroud)

我需要能够指定要排序的列,以便重新排列行.其中一列包含格式为的日期信息,Y-m-d H:i:s我希望能够以最近的日期为第一行进行排序.

php sorting multidimensional-array

198
推荐指数
6
解决办法
17万
查看次数

PHP中的全局变量是否被视为不良做法?如果是这样,为什么?

function foo () {
    global $var;
    // rest of code
}
Run Code Online (Sandbox Code Playgroud)

在我的小PHP项目中,我通常采用程序方式.我通常有一个包含系统配置的变量,当我需要在函数中访问此变量时,我会这样做global $var;.

这是不好的做法吗?

php global global-variables

84
推荐指数
5
解决办法
3万
查看次数

通过多个键对多维数组进行排序

我试图通过多个键对多维数组进行排序,我不知道从哪里开始.我看着uasort,但不太确定如何为我需要的东西编写函数.

我需要按州,然后是event_type,然后按日期排序.

我的数组看起来像这样:

    Array
(
    [0] => Array
        (
            [ID] => 1
            [title] => Boring Meeting
            [date_start] => 2010-07-30
            [time_start] => 06:45:PM
            [time_end] => 
            [state] => new-york
            [event_type] => meeting
        )

    [1] => Array
        (
            [ID] => 2
            [title] => Find My Stapler
            [date_start] => 2010-07-22
            [time_start] => 10:45:AM
            [time_end] => 
            [state] => new-york
            [event_type] => meeting
        )

    [2] => Array
        (
            [ID] => 3
            [title] => Mario Party
            [date_start] => 2010-07-22
            [time_start] => 02:30:PM
            [time_end] => 07:15:PM
            [state] => …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting multidimensional-array

77
推荐指数
3
解决办法
6万
查看次数

PHP使用子数组值按字母顺序排序数组

可能重复:
如何在PHP中对数组和数据进行排序?
如何在
PHP中排序多维数组PHP排序数组按SubArray值PHP 按值
排序多维数组

我的数组看起来像:

Array(
    [0] => Array(
         [name] => Bill
         [age] => 15
    ),
    [1] => Array(
         [name] => Nina
         [age] => 21
    ),
    [2] => Array(
         [name] => Peter
         [age] => 17
    )
);
Run Code Online (Sandbox Code Playgroud)

我想根据他们的名字按字母顺序对它们进行排序.我看到PHP排序数组按SubArray值,但它没有多大帮助.任何想法如何做到这一点?

php arrays

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

按子值排序php多维数组

我有这个数组

Array
(
[data] => Array
    (
        [0] => Array
            (

                [id] => 1293005125
                [viewed] => TRUE
                [active] => TRUE
                [time] => December 22, 2010 13:00 hours
                [timestamp] => 1293006034
                [initial_timestamp] => 1293005125
                [user] => administrator
            )

        [1] => Array
            (

                [mid] => 1293001908
                [viewed] => TRUE
                [active] => TRUE
                [time] => December 22, 2010 13:00 hours
                [timestamp] => 1293001908
                [initial_timestamp] => 1293001908
                [user] => administrator
            )

        [2] => Array
            (

                [mid] => 1293009999
                [viewed] => TRUE
                [active] => TRUE …
Run Code Online (Sandbox Code Playgroud)

php arrays

30
推荐指数
3
解决办法
8万
查看次数

按日期字段对对象数组进行排序

如何重新排列这样的对象数组:

 [495] => stdClass Object
        (
         [date] => 2009-10-31 18:24:09
         ...
        )
 [582] => stdClass Object
        (
         [date] => 2010-2-11 12:01:42
         ...
        )
 ...
Run Code Online (Sandbox Code Playgroud)

通过date关键,最古老的第一?

php arrays sorting

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

下降

当我尝试从这里应用以下代码

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

它以升序给出了结果.

输出:

0
0
0
0
0
0.29
1.09
6.33
Run Code Online (Sandbox Code Playgroud)

在交换$ a和$ b时,除了一个值之外,它按降序给出结果

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

输出:

6.33
1.09
0
0
0
0
0.29
0
Run Code Online (Sandbox Code Playgroud)

我想按以下顺序得到结果:

6.33
1.09
0.29
0
0
0
0
0
Run Code Online (Sandbox Code Playgroud)

我如何实现同样的目标.

php arrays sorting usort multidimensional-array

17
推荐指数
4
解决办法
3万
查看次数

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

我想基于count降序对这个数组进行排序.这是我的array

array(   
   46 => 
      array (
       'name' => 'HSR Layout',
       'url' => 'hsr-layout',
       'count' => 2,
      ),

   37 => 
      array (
       'name' => 'Electronic City',
       'url' => 'electronic-city',
       'count' => 3,
      )
  )
Run Code Online (Sandbox Code Playgroud)

php sorting laravel

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