【发布时间】:2015-12-14 17:02:13
【问题描述】:
我的代码基于以下链接: PHP Multidimensional Array Searching (Find key by specific value) 我尝试添加类似于 Get most recent date from an array of dates 的代码;但是我不断收到非法偏移错误。
我可以根据第一个代码成功选择正确的值。然后如何根据数组中的最近日期缩小我的回报范围?
我使用的是 php 5.4.45,我的数组总是按日期排序,最近的在最后。我不能简单地选择最后一个数组索引,因为它并不总是“已支付”订单状态。
我的数组:
array(4) {
[0]=> array(3) {
["status"]=> string(6) "Active"
["check_number"]=> string(0) ""
["date_added"]=> string(19) "17/11/2015 10:34:53" }
[1]=> array(3) {
["status"]=> string(4) "Paid"
["check_number"]=> string(5) "12345"
["date_added"]=> string(19) "14/12/2015 07:40:59" }
[2]=> array(3) {
["status"]=> string(8) "Invoiced"
["check_number"]=> string(0) ""
["date_added"]=> string(19) "14/12/2015 09:44:31" }
[3]=> array(3) {
["status"]=> string(4) "Paid"
["check_number"]=> string(4) "0258"
["date_added"]=> string(19) "14/12/2015 09:53:29" }
}
我的代码:
function getValue($fromSource, $field, $value, $get){
if ($fromSource[$field] === $value) {
return $fromSource[$get];
};
return false;
}
foreach ($order['order_history'] as $order_history) {
var_dump(getValue($order_history, "status", "Paid", "check_number"));
}
所需结果:“0258”(其中状态 =“已支付”,日期 = 最近)
当前接收:“12345”“0258”(其中状态 =“已支付”)
【问题讨论】:
标签: php arrays multidimensional-array