我有一个如下数组:
Array
(
[0] => Array
(
'name' => "Friday"
'weight' => 6
)
[1] => Array
(
'name' => "Monday"
'weight' => 2
)
)
我想获取该数组中的最后一个值('weight'),并使用它来对主数组元素进行排序.所以,在这个数组中,我想对它进行排序,以便'Monday'元素出现在'Friday'元素之前.
可能重复:
PHP按包含日期的元素对多维数组进行排序
我在PHP数组中有一些来自XML或JSON的数据,如下所示:
[0]= array(2) {
["title"]= string(38) "Another title"
["date"]= string(31) "Fri, 17 Jun 2011 08:55:57 +0200"
}
[1]= array(2) {
["title"]= string(38) "My title"
["date"]= string(31) "Mon, 16 Jun 2010 06:55:57 +0200"
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是按日期订购这两个项目.
我不想做什么
我可以使用日期并将其设置为ID,但感觉不对,因为两个项目可以具有相同的日期,然后它不会是唯一的.
Array
(
[0] => Array
(
[dateTime] => 2011-10-18 0:0:00
[chanl1] => 20.7
[chanl2] => 45.4
[chanl3] =>
)
[1] => Array
(
[dateTime] => 2011-10-18 0:15:00
[chanl1] => 20.7
[chanl2] => 45.4
[chanl3] =>
)
[2] => Array
(
[dateTime] => 2011-10-18 00:14:00
[chanl1] => 20.7
[chanl2] => 33.8
[chanl3] =>
)
[3] => Array
(
[dateTime] => 2011-10-18 00:29:00
[chanl1] => 20.6
[chanl2] => 33.9
[chanl3] =>
)
Run Code Online (Sandbox Code Playgroud)
我想基于[dateTime]对上面的数组进行排序,最终的输出应该是:
Array
(
[0] => Array
(
[dateTime] => 2011-10-18 …Run Code Online (Sandbox Code Playgroud) 如何重新排列这样的对象数组:
[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代码中有以下数组格式:
foreach ($events as $info) {
$events_array[] = array(
'title' => $info->Name,
'date' => $info->Date
);
}
function cb($a, $b) {
return strtotime($a['date']) - strtotime($b['date']);
}
usort($events_array, 'cb');
Run Code Online (Sandbox Code Playgroud)
编辑:日期值的格式为:YYYY-MM-DD
实际上,当我做print_r时,我明白了
[title] => SimpleXMLElement Object ( ) [date] => SimpleXMLElement Object ( )
Run Code Online (Sandbox Code Playgroud) 我合并我的阵列然后我想按日期排序,但我的贷款和colls在日期有不同的名称
继承我的合并代码
$loan = $this->db->get('loans')->result_array();
$coll = $this->db->get('collectables')->result_array();
$result = array_merge($loan, $coll);
Run Code Online (Sandbox Code Playgroud)
并且继承了输出
Array
(
[0] => Array
(
[loan_id] => 175
[loan_fullname] => Albano, Zester Quinn
[loan_amount] => 15000
[loan_interest] => 2
[loan_date] => 2017-05-30
[loan_total_amount] => 15300
[loan_collectables] => 1
[loan_user_id] => 30
)
[1] => Array
(
[loan_id] => 176
[loan_fullname] => Amamio, Alyanna
[loan_amount] => 15000
[loan_interest] => 2
[loan_date] => 2017-05-31
[loan_total_amount] => 15300
[loan_collectables] => 2
[loan_user_id] => 32
)
[2] => Array
( …Run Code Online (Sandbox Code Playgroud) 有没有人知道如何在PHP中按键(日期)对此数组进行排序?
Array
(
[2011-02-16] => Array
(
[date] => 2011-02-16
[num] => 2
)
[2011-02-11] => Array
(
[date] => 2011-02-11
[num] => 0
)
[2011-02-17] => Array
(
[date] => 2011-02-17
[num] => 0
)
[2011-02-18] => Array
(
[date] => 2011-02-18
[num] => 0
)
)
Run Code Online (Sandbox Code Playgroud) 这是我的阵列
[comment] => Array
(
[0] => Array
(
[mem_id] => 51
[comment] => nice...
[profilenam] => xyz
[photo_thumb] => photos/81951b37ad01c4aa65662956f178214eth.jpeg
[date] => 1307975661
)
[1] => Array
(
[mem_id] => 329
[comment] => nice...
[profilenam] => abc
[photo_thumb] => photos/f841eab12f5a24ce12b984904760c05fth.jpeg
[date] => 1308043486
)
)
Run Code Online (Sandbox Code Playgroud)
实际上我想按日期按升序排列,我使用了asort()但是没有用
这是我的阵列
$array = array(
"13111" => "2014-06-21 19:51:00.0000000",
"23111" => "2014-06-20 19:51:00.0000000",
"12111" => "2014-06-21 19:51:00.0000000",
"23311" => "2014-06-22 19:51:00.0000000",
"13114" => "2014-06-21 19:51:00.0000000",
"23711" => "2014-06-20 19:51:00.0000000",
);
Run Code Online (Sandbox Code Playgroud)
我如何获得我的数组的前3个元素,我如何按日期时间排序?谢谢