【发布时间】:2014-11-02 16:11:51
【问题描述】:
我目前有一个数组,我需要按电子邮件域对其进行排序,以将我拥有的数据发布到表中。 这是我目前拥有的数组(一个简短的例子):
Array
(
[0] => wlrb@yahoo.com:7:8.35
[1] => hcda@able.com:4:5.59
[2] => kkyhid@hotmail.com:3:9.29
[3] => dxrjmowf@able.com:4:6.67
[4] => ybldb@hotmail.com:8:22.84
[5] => rcbyn@widgets.com:7:14.80
[6] => ggxxpkl@able.com:6:8.36
[7] => lnmpapq@hotmail.com:5:18.67
[8] => opkmc@widgets.com:5:22.88
[9] => wnkue@able.com:10:18.68
[10] => mgbbuqc@bodge.com:2:19.67
[11] => vswmdkqtb@bodge.com:5:21.89
这是我目前正在使用的代码
<?php
$filename = "orderdata.txt";
// Open the file
$fp = @fopen($filename, 'r');
// Add each line to an array
if ($fp) {
$array = explode("\n", fread($fp, filesize($filename)));
}
function pr($data)
{
print "<pre>";
print_r($data);
print "</pre>";
}
pr($array);
?>
我想以这种格式将数据发布到表格中(不能使用数据库):
+-----------------------------------------------+
| able.com |
+---------------+------------------+------------+
| andy@able.com | 1 | 20.30 |
| ed@able.com | 4 | 5.05 |
+---------------+------------------+------------+
| bodge.com |
+---------------+------------------+------------+
| foo@bodge.com | 3 | 132.20 |
+---------------+------------------+------------+
第二列是订单金额,最后一列是价格。
有人可以帮我完成任务吗?
【问题讨论】:
-
你需要使用file('orderdata.txt');而不是你做的你需要通过':'分解数据来获取部分字符串。然后,您需要正则表达式从邮件中获取域,或者在更简单的版本中通过“@”邮件爆炸,您需要使用 array_multisort() 对数组进行排序
-
@Robert 你能进一步解释一下吗?我很难解决这个问题:(
-
我会试着给你写一些代码
-
@Robert 显然我需要使用关联数组来传递数据,我的头很痛!
标签: php arrays sorting html-table