Welcome Guest, Not a member yet? Register   Sign In
[Solved] Work out a percentage of a item set in array
#1

(This post was last modified: 10-21-2016, 01:12 AM by wolfgang1983.)

On my codeigniter project I have a user profile page

I can not work out the correct percentage there are 11 items in my list but only 10 items are set.

Question: How can I work out the correct percentage for items that are set it should be at 90% or there abouts and if all 11 items are set would be 100%

It's for a progress bar


PHP Code:
$this->data['profile'] = array(
    'username' => $username,
    'email' => $email,
    'description' => '6',
    'firstname' => $firstname,
    'lastname' => $lastname,
    'image' => $image,
    'location' => '5',
    'website' => '4',
    'google_plus' => '3',
    'twitter' => '2',
    'github' => ''
);

$is_set count(array_filter($this->data['profile']));
$percent1 100 $is_set;
$percent2 $percent1 $is_set;

echo 
$percent2;

$this->data['profile_progress'] = $percent2


View


PHP Code:
<script type="text/javascript">
$(
document).ready(function() {
    $(".progress-bar").animate({
        width"<?php echo $profile_progress;?>%"
    }, 2500);

});
</
script
There's only one rule - please don't tell anyone to go and read the manual.  Sometimes the manual just SUCKS!
Reply
#2

Hi,

This should do it:


PHP Code:
$cnt_keys count($array); // 11 keys 
$cnt_values count(array_filter($array)); // 10 values 
$percent $cnt_values $cnt_keys 100// 90.9091 %
echo round($percent,2); 

Array_filter will only return non empty values.
If you need a more complex filter you can pass a function to array_filter as second parameter.
A good decision is based on knowledge and not on numbers. - Plato

Reply
#3

(10-21-2016, 12:18 AM)salain Wrote: Hi,

This should do it:


PHP Code:
$cnt_keys count($array); // 11 keys 
$cnt_values count(array_filter($array)); // 10 values 
$percent $cnt_values $cnt_keys 100// 90.9091 %
echo round($percent,2); 

Array_filter will only return non empty values.
If you need a more complex filter you can pass a function to array_filter as second parameter.


That worked fine thanks
There's only one rule - please don't tell anyone to go and read the manual.  Sometimes the manual just SUCKS!
Reply
#4

Your welcome.
A good decision is based on knowledge and not on numbers. - Plato

Reply




Theme © iAndrew 2016 - Forum software by © MyBB