This is taking a previous question of mine one step further, and it’s driving me nuts. I want to add this additional functionality, but am having a bear of a time getting my arrays correct. Here is what I have already:
[CODE]
<?php
$lines = array(
‘appname-2.4.1 2011/01/19 root /home/app/bin v(2.4.1),primary,e(1)’
‘appname-2.4.2 2011/01/19 root /home/app/bin v(2.4.2),primary,e(1)’
‘appname-2.4.3 2011/02/22 root /home/app/bin v(2.4.3) primary,e(1)’
‘appname-2.0.9 2010/01/21 root /home/app/bin v(2.0.9),e(1)’
‘appname-2.4.1 2010/12/02 root /home/app/bin v(2.4.1),e(2)’
‘appname-2.4.2 2011/01/13 root /home/app/bin v(2.4.2),e(3)’
‘appname-2.4.3 2011/02/22 root /home/app/bin v(2.4.3),e(3)’
‘appname-2.4.1 2010/12/02 root /home/app/bin v(2.4.1),e(2)’
‘appname-2.4.2 2011/01/13 root /home/app/bin v(2.4.2),e(4)’
‘appname-2.4.3 2011/02/22 root /home/app/bin v(2.4.3),e(3)’
‘appname-2.0.9 2010/01/21 root /home/app/bin v(2.0.9),e(1)’
);
$data = array();
foreach($lines as $line) {
if(preg_match(‘/^.*v((.*?)).*$/’, $line, $matches)) {
$data[$matches[1]][] = $line;
}
}
echo “<ul>n”;
foreach($data as $key => $value) {
echo “<li>$key:<ul>n”;
foreach($value as $line) {
echo “<li>$line</li>n”;
}
echo “</ul>n”;
}
echo “</ul>n”;
This currently outputs
[CODE]
2.4.1:
appname-2.4.1 2011/01/19 root /home/app/bin v(2.4.1),primary,e(1)
appname-2.4.1 2010/12/02 root /home/app/bin v(2.4.1),e(2)
appname-2.4.1 2010/12/02 root /home/app/bin v(2.4.1),e(2)
2.4.2:
appname-2.4.2 2011/01/19 root /home/app/bin v(2.4.2),primary,e(1)
appname-2.4.2 2011/01/13 root /home/app/bin v(2.4.2),e(3)
appname-2.4.2 2011/01/13 root /home/app/bin v(2.4.2),e(4)
2.4.3:
appname-2.4.3 2011/02/22 root /home/app/bin v(2.4.3) primary,e(1)
appname-2.4.3 2011/02/22 root /home/app/bin v(2.4.3),e(3)
appname-2.4.3 2011/02/22 root /home/app/bin v(2.4.3),e(3)
2.0.9:
appname-2.0.9 2010/01/21 root /home/app/bin v(2.0.9),e(1)
appname-2.0.9 2010/01/21 root /home/app/bin v(2.0.9),e(1)
But I want to display:
[CODE]
2.4.1:
e(1):
appname-2.4.1 2011/01/19 root /home/app/bin v(2.4.1),primary,e(1)
e(2):
appname-2.4.1 2010/12/02 root /home/app/bin v(2.4.1),e(2)
appname-2.4.1 2010/12/02 root /home/app/bin v(2.4.1),e(2)
2.4.2:
e(1):
appname-2.4.2 2011/01/19 root /home/app/bin v(2.4.2),primary,e(1)
e(3):
appname-2.4.2 2011/01/13 root /home/app/bin v(2.4.2),e(3)
e(4):
appname-2.4.2 2011/01/13 root /home/app/bin v(2.4.2),e(4)
2.4.3:
e(1):
appname-2.4.3 2011/02/22 root /home/app/bin v(2.4.3) primary,e(1)
e(3):
appname-2.4.3 2011/02/22 root /home/app/bin v(2.4.3),e(3)
appname-2.4.3 2011/02/22 root /home/app/bin v(2.4.3),e(3)
2.0.9:
e(1):
appname-2.0.9 2010/01/21 root /home/app/bin v(2.0.9),e(1)
appname-2.0.9 2010/01/21 root /home/app/bin v(2.0.9),e(1)