我需要再次帮助。我有一个阵列,我需要提取最早的体重值。php多维数组获取第一个日期值
编辑 - 编辑 - 编辑
array (
3 =>
array (
'id' => '20110211',
'Date' => '2011-02-11',
'Weight' => '195',
),
4 =>
array (
'id' => '20110213',
'Date' => '2011-02-13',
'Weight' => '160',
),
6 =>
array (
'id' => '20110310',
'Date' => '2011-03-10',
'Weight' => '200',
),
12 =>
array (
'id' => '20110301',
'Date' => '2011-03-01',
'Weight' => '55',
),
21 =>
array (
'id' => '20110215',
'Date' => '2011-02-15',
'Weight' => '120',
),
25 =>
array (
'id' => '20110322',
'Date' => '2011-03-22',
'Weight' => '250',
),
)
我已经编辑这一点,此代码的工作:
function sortByDate ($arr1, $arr2)
{
return strcmp($arr1['Date'], $arr2['Date']);
}
// $arr is your array
usort($weight_tracker, 'sortByDate');
$earliest = $weight_tracker[0]['Weight'];
echo $earliest;
但自从我上有一个表格这个更新阵列时更新数组的页面 - 我找到了我ssage致命错误:无法使用字符串偏移量作为数组在
编辑 - >我已经重新声明这是字符串,因此错误!使用全球时要小心,因为一切都会变得一团糟! PHP是宽容,但 “宽恕” 以后可以在花费了大量的时间... :)
谢谢,
彼得
这将是其他人更容易复制你代码和解决方案,如果你在PHP中粘贴正确的数组而不是var_dump()的结果,这意味着我们必须自己输出它们,只是说... – Cups 2011-05-03 15:25:00
这可能是一个愚蠢的问题,但'$ weight_tracker'被意外地重新分配给一个字符串而不是数组在某些时候?如果这段代码是错误发生的地方,听起来像是因为'$ weight_tracker'是一个字符串,它应该是一个数组。 – Wiseguy 2011-05-03 16:54:13
在不相关的说明中,它看起来像大数组中的数字键是来自数据库的记录ID或其他东西。那些需要保存吗?目前'usort()'将它们重新编号为0,1,2等。如果您需要保留原始ID号码,我会更新我的答案。 – Wiseguy 2011-05-03 16:56:36