Сложный для каждого для извлечения значений массива

#php #arrays #codeigniter #multidimensional-array

#php #массивы #codeigniter #многомерный-массив

Вопрос:

В настоящее время я работаю над проектом, который создает массив для многих измерений. Print_r() приводит к таким:

 Array ( 
[campaigns] => Array ( 
    [0] => Array ( 
        [CampaignId] => 1 
        [DID] => 2394434444 
        [FWDDID] => 3214822821 
        [ProductId] => 1 
        [CampaignName] => Fort Myers Bus #1 
        [ProductName] => CallTrack - Sharktek 
        [Active] => 1 [CompanyId] => 1 ) 

    [1] => Array ( 
        [CampaignId] => 4 
        [DID] => 2394434445 
        [FWDDID] => 3214822821 
        [ProductId] => 1 
        [CampaignName] => Cape Coral Billboard #2 
        [ProductName] => CallTrack - Sharktek 
        [Active] => 1 [CompanyId] => 1 ) 

    [2] => Array ( 
        [CampaignId] => 5 
        [DID] => 2392146000 
        [FWDDID] => 3214822821 
        [ProductId] => 1 
        [CampaignName] => Test Campaign 
        [ProductName] => CallTrack - Sharktek 
        [Active] => 1 
        [CompanyId] => 1 )
    ) 
)
 

Я пытаюсь создать цикл foreach, который выбирает все идентификаторы campaign и использует их в другом для каждого цикла, к сожалению, я не смог этого сделать.

Поскольку я использую CodeIgniter, я не могу просто повторить результаты в контроллере, скорее мне нужно передать значения, которые я хочу, в другой массив для отправки в представление

Спасибо за ваше время и усилия, любая помощь будет оценена по достоинству!

Комментарии:

1. Это не так сложно, где ваш foreach ?

2. Я пытаюсь написать foreach, который позволил бы мне получить доступ к CampaignID и использовать каждый из них в качестве параметров в другой функции

3. foreach ($data как $row) { $campaign1 = $row[‘CampaignID’]; }

Ответ №1:

Если вы просто хотите, чтобы foreach все идентификаторы campaign были заменены позже, и у вас есть PHP> = 5.5.0, тогда используйте array_column :

 $ids = array_column($array, 'CampaignId');
 

Если PHP <5.5.0, то foreach более $array['campaigns'] .

 foreach($array['campaigns'] as $campaign) {
    $ids[] = $campaign['CampaignId'];
}
 

Комментарии:

1. Большое вам спасибо за ваше предложение, я попытался сделать следующее: $data[‘campaigns’] = $this->model_record->retrieve_campaign($CompanyID); $CampaignID = array_column($data, ‘CampaignID’); print_r($CampaignID); и $data[‘campaigns’] = $this->model_record->retrieve_campaign($CompanyID); $CampaignID = array_column($data[‘campaigns’], ‘CampaignID’); print_r($CampaignID);