-1

あるアレイを別のアレイに対してテストするのに少し苦労しています。

私は人の配列を持っています

    0 => 
     object(Prospect)[196]
     private 'firstname' => string 'Jane' 
     private 'surname' => string 'Doe' 
     private 'email' => string 'test@test.com' 
     private 'postcode' => string 'LS' 
     public 'region' => string 'Yorkshire' 
   1 => 
     object(Prospect)[197]
     private 'firstname' => string 'John' 
     private 'surname' => string 'Doe' 
     private 'email' => string 'test1@test.com' 
     private 'postcode' => string 'CH' 
     public 'region' => string 'Cheshire' 

およびジョブ配列

    0 => 
      object(Job)[2]
      private 'title' => string 'Job 1' 
      private 'ref' => string '0001' 
      private 'postcode' => string 'CH' 
      public 'region' => string 'Cheshire' 
      private 'wage' => string '£250' 
    1 => 
      object(Job)[3]
      private 'title' => string 'Job 2' 
      private 'ref' => string '0002' 
      private 'postcode' => string 'CH'
      public 'region' => string 'Cheshire'
      private 'wage' => string '£200.00' 

人の配列内の各人を繰り返し処理して、その特定の人に同じ地域を持つすべての仕事を仕事の配列で見つける最良の方法は何ですか?

編集:私が扱っているデータは、見込み客側と仕事側で大きくなっています。上記は、私が扱っているデータのほんの一例です。

これに関する私の全体的な目標は、各見込み客を同じ地域の最大 6 つの求人にリンクし、このデータを CSV ファイルに出力して、サードパーティのメール キャンペーン サービスで使用できるようにすることです。

私はこれにかなり慣れていないので、どんな助けにも感謝します

ありがとう

4

2 に答える 2

0

これを試して:

$persons_region = 'Cheshire';

$found_jobs = array();
foreach ($jobs as $job) {
    if ($job['region'] == $persons_region) {
        $found_jobs[] = $job;
    }
}
于 2013-07-10T13:58:20.617 に答える
0

最も単純だがおそらく最も遅い方法は

$job_ids = array();
foreach($persons_array as $person) {
  foreach ($jobs_array as $id=>$job) {
    if ($person->region == $job->region) $job_ids[] = $id;
  }
}

あなたができるように

foreach ($job_ids as $id) {
  // whatever using $id
}
于 2013-07-10T14:13:13.957 に答える