The problem is related to array:-
Like we have an array that contain some details of students’
age with their standard and number of records according to group by age and
standard from the database.
Like we have get data from database:-
Age
|
Standard/class
|
Number Of Records
|
12
|
6
|
2
|
13
|
6
|
1
|
14
|
7
|
1
|
23
|
6
|
2
|
23
|
12
|
5
|
24
|
12
|
1
|
25
|
12
|
2
|
Age Group like this
10 => 1-10
20 =>11-20
30 => 21-30
40 => 31-40
50 => 41-50
I have an array of age group:
Like ageGroupArray = 10, 20, 30, 40, 50;
Then I want the result like this in array:
the array is getting on the bases of the age's and the index
of array is age and where the ageGroupArray contain the values of sum of number
of records.
//here [6] represent the index of Count array and 6 is the
standard of the student
//as Input Array
//as output Array
details = {
[0]=> { [age]=>12
[Standard]=>6
[NumberOfRecords]=>2
}
[1]=> { [age]=>13
[Standard]=>6
[NumberOfRecords]=>1
}
[2]=> { [age]=>14
[Standard]=>7
[NumberOfRecords]=>1
}
[3]=> { [age]=>23
[Standard]=>6
[NumberOfRecords]=>2
}
[4]=> { [age]=>23
[Standard]=>12
[NumberOfRecords]=>5
}
[5]=> { [age]=>24
[Standard]=>12
[NumberOfRecords]=>1
}
[6]=> { [age]=>25
[Standard]=>12
[NumberOfRecords]=>2
}
}
ageArray = (10, 20, 30, 40, 50);//this is an array of age groups
//as output Array
count = {
[6]=> { 10=>0
20=>3 //here we
add the the number of records (2+1=3) according to standard
30=>2
40=>0
50=>0
}
[7]=> { 10=>0
20=>1
30=>0
40=>0
50=>0
}
[12]=> { 10=>0
20=>0
30=>8
40=>0
50=>0
}
Here Is the Solution for that:
1 2 3 4 5 6 7 8 9 10 11 12 | for ($j = 0; $j < sizeof($details); $j++) { $std = $details[$j]['standard']; for ($i = 0; $i < sizeof($ageArray); $i++) { if($ageArray[$i-1] < $details[$j]['age'] && $details[$j]['age'] < $ageArray[$i] ){ $count[$std][$ageArray[$i]] += $details[$j]['NumberOfRecords']; }else { $count[$std][$ageArray[$i]] += 0; } } } print_r($details); print_r($count); |
No comments:
Post a Comment