帮助循环遍历数组

时间:2011-07-01 13:56:03

标签: php arrays codeigniter loops foreach

我在我的网站上搜索过产品以下数组

 (
    [0] => Array
        (
            [job_id] => 4
            [job_title] => Supercar Test Driver
            [salary] => 40000
            [job_tags] => Driving
            [retrain] => no
            [job_extras] => Pension, 30 Days Holiday, Continental Shift (3 Days Off 3 Days On)
            [job_summary] => You will be an experienced consultant with a background in driving recruitment.  You must possess strong sector knowledge and will have excellent business development skills as although this desk is warm it needs additional development from an individual with dedication and motivation to achieve its maximum potential.
            [job_description] => My clients are a well established recruitment consultancy with over 30 UK branches and they were recently voted the ‘Number 1 General Recruiter’ by Recruit Magazine.  Founded in 1986 they provide personnel to the commercial, construction, driving, finance, industrial and IT industries and offer temporary, contract and permanent placements to fulfil any requirement.  As a company they have experienced astounding growth which has lead them to becoming the first choice for many candidates, supplying a reservoir of fresh positions across all of their sectors.  As a company they hold the opinions of their clients and candidates in high regard and work tirelessly to provide a high quality service that is flexible, trustworthy and reliable.  Their experienced consultants work efficiently to match the needs of their clients with the abilities of their first rate candidates and hit the mark first time, saving money and aiding in the productivity of all involved.  They implement training and support to their consultants to enhance the service they are able to provide and to ensure they always have their finger on the pulse of current market trends.   They are currently recruiting for a Recruitment Consultant to join the company on a driving desk.   You will be an experienced consultant with a background in driving recruitment.  You must possess strong sector knowledge and will have excellent business development skills as although this desk is warm it needs additional development from an individual with dedication and motivation to achieve its maximum potential.  This is a very lucrative sector and although business development will be an essential element of your role, it will be a relatively yielding task.  This is a temporary desk with many candidates and a fast turnaround; you will be confident in all aspects of running a temporary desk.  You must be capable of a 360 role and will possess excellent personal management skills.  Able to work as part of a team and autonomously, you will be a focused and positive individual with a professional demeanour.  This position has notable opportunities for progression as the company has many plans for growth within this sector.  An ambitious and hard working applicant could achieve great rewards. The successful candidate will enjoy the benefits of working for a growing company on a successful and fast paced desk.  You will receive a good salary and excellent uncapped commission structure.
            [company_name] => McLaren
            [company_summary] => Company Summary Here
            [logo_small] => small_mclaren001.png
            [logo_large] => large_mclaren002.png
            [employer_id] => 3
        )

    [1] => Array
        (
            [job_id] => 3
            [job_title] => Recruitment Consultant - Driving
            [salary] => 24000
            [job_tags] => Recruitment, Sales, Transport
            [retrain] => no
            [job_extras] => Company Car, Pension Scheme, Generous Bonus Of Up To £12'000
            [job_summary] => My clients are a well established recruitment consultancy with over 30 UK branches and they were recently voted the "Number 1 General Recruiter" by Recruit Magazine.  Founded in 1986 they provide personnel to the commercial, construction, driving, finance, industrial and IT industries and offer temporary, contract and permanent placements to fulfil any requirement.
            [job_description] => As a company they have experienced astounding growth which has lead them to becoming the first choice for many candidates, supplying a reservoir of fresh positions across all of their sectors.  As a company they hold the opinions of their clients and candidates in high regard and work tirelessly to provide a high quality service that is flexible, trustworthy and reliable.  Their experienced consultants work efficiently to match the needs of their clients with the abilities of their first rate candidates and hit the mark first time, saving money and aiding in the productivity of all involved.  They implement training and support to their consultants to enhance the service they are able to provide and to ensure they always have their finger on the pulse of current market trends.   They are currently recruiting for a Recruitment Consultant to join the company on a driving desk.   You will be an experienced consultant with a background in driving recruitment.  You must possess strong sector knowledge and will have excellent business development skills as although this desk is warm it needs additional development from an individual with dedication and motivation to achieve its maximum potential.  This is a very lucrative sector and although business development will be an essential element of your role, it will be a relatively yielding task.  This is a temporary desk with many candidates and a fast turnaround; you will be confident in all aspects of running a temporary desk.  You must be capable of a 360 role and will possess excellent personal management skills.  Able to work as part of a team and autonomously, you will be a focused and positive individual with a professional demeanour.  This position has notable opportunities for progression as the company has many plans for growth within this sector.  An ambitious and hard working applicant could achieve great rewards. The successful candidate will enjoy the benefits of working for a growing company on a successful and fast paced desk.  You will receive a good salary and excellent uncapped commission structure.   For further details please contact Jo at Andbridge Associates on 01332 223954 / 07432
096582.  For similar sector or other sector vacancies, please visit the Andbridge Associates website for full listings.
            [company_name] => MoovJob.com
            [company_summary] => Company Summary Goes Here...
            [logo_small] => small_rac001.png
            [logo_large] => large_rac002.png
            [employer_id] => 2
        )

    [2] => Array
        (
            [job_id] => 5
            [job_title] => Postal Worker / Post Person
            [salary] => 25000
            [job_tags] => Transport & Logistics
            [retrain] => no
            [job_extras] => Fantastic Pension Scheme, 32 Days Holiday, Health Insurance
            [job_summary] => The successful candidate will enjoy the benefits of working for a growing company on a successful and fast paced desk.  You will receive a good salary and excellent uncapped commission structure.
            [job_description] => My clients are a well established recruitment consultancy with over 30 UK branches and they were recently voted the ‘Number 1 General Recruiter’ by Recruit Magazine.  Founded in 1986 they provide personnel to the commercial, construction, driving, finance, industrial and IT industries and offer temporary, contract and permanent placements to fulfil any requirement.  As a company they have experienced astounding growth which has lead them to becoming the first choice for many candidates, supplying a reservoir of fresh positions across all of their sectors.  As a company they hold the opinions of their clients and candidates in high regard and work tirelessly to provide a high quality service that is flexible, trustworthy and reliable.  Their experienced consultants work efficiently to match the needs of their clients with the abilities of their first rate candidates and hit the mark first time, saving money and aiding in the productivity of all involved.  They implement training and support to their consultants to enhance the service they are able to provide and to ensure they always have their finger on the pulse of current market trends.   They are currently recruiting for a Recruitment Consultant to join the company on a driving desk.   You will be an experienced consultant with a background in driving recruitment.  You must possess strong sector knowledge and will have excellent business development skills as although this desk is warm it needs additional development from an individual with dedication and motivation to achieve its maximum potential.  This is a very lucrative sector and although business development will be an essential element of your role, it will be a relatively yielding task.  This is a temporary desk with many candidates and a fast turnaround; you will be confident in all aspects of running a temporary desk.  You must be capable of a 360 role and will possess excellent personal management skills.  Able to work as part of a team and autonomously, you will be a focused and positive individual with a professional demeanour.  This position has notable opportunities for progression as the company has many plans for growth within this sector.  An ambitious and hard working applicant could achieve great rewards. The successful candidate will enjoy the benefits of working for a growing company on a successful and fast paced desk.  You will receive a good salary and excellent uncapped commission structure.
            [company_name] => Royal Mail
            [company_summary] => Company Summary Here
            [logo_small] => small_royalmail001.png
            [logo_large] => large_royalmail002.png
            [employer_id] => 4
        )

)

我想要的帮助是如何循环数组,所以我得到这样的输出,

Employer Name
Job Title
Job Title

然后当循环遇到新的雇主名称时,它会输出雇主姓名和他们的工作吗?

1 个答案:

答案 0 :(得分:0)

(抱歉,我错过了您的额外要求。)先按雇主名称对数组排序:

function jobcmp($job1, $job2)
{
  return strcmp($job1['company_name'], $job2['company_name']);
}

uksort($jobarray, jobcmp);

甚至更好,使用lambda:

uksort($jobarray, function($job1, $job2) { return strcmp($job1['company_name'], $job2['company_name']); });

然后使用foreach

$oldemp   = "";
foreach($jobarray as $key => $value)
{
   if ($oldemp != $value['company_name'])
   {
     $oldemp = $value['company_name'];
     print($oldemp);
   }

   print("Job Title: $value['job_title']");
}