Ir para conteúdo
Fórum Script Brasil
  • 0

Como chamar várias classes dentro desse meu script


Leonardo Galves

Pergunta

for ($i = 0; $i !== count($conjunto); $i++){
    if ($conjunto[$i] !== NULL){

    }
}

$request = (new RunReportRequest()) -> setProperty('properties/' . $property_id)
    ->setDateRanges([
        new DateRange([
            'start_date' => "2024-05-06",
            'end_date' => 'today',
        ]),
    ])
    ->setDimensions([
        new Dimension(['name' => "browser"]),
    ])
    ->setMetrics([
        new Metric(['name' => 'screenPageViews']),
    ]);

Olá, tudo bem ? Alguém poderia me ajudar nesse problema kkk estou usando a api do google analytics GA4, Tenho um "for" que trará os dados de um array, e esses dados irá alterar esse código abaixo no "1", mais especificadamente "browser", o for serve para chamar a classe "Dimension" diversas vezes conforme o usuario marca as checkbox, supondo que deu certo, ficaria mais ou menos assim no "2":

1:
new Dimension(['name' => "browser"])

 

2:

$request = (new RunReportRequest()) -> setProperty('properties/' . $property_id)
    ->setDateRanges([
        new DateRange([
            'start_date' => "2024-05-06",
            'end_date' => 'today',
        ]),
    ])
    ->setDimensions([
        new Dimension(['name' => "browser"]),
        new Dimension(['name' => "1"]),
        new Dimension(['name' => "2"]),
        new Dimension(['name' => "3"]),
        new Dimension(['name' => "4"]),
    ])
    ->setMetrics([
        new Metric(['name' => 'screenPageViews']),
    ]);
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Você pode declarar uma variável para armazenar o array de "dimensions" e depois apenas passar a variável para a classe, dessa forma:

$dimensions = [
    new Dimension(['name' => "browser"])
];

for ($i = 0; $i < count($conjunto); $i++){
    if ($conjunto[$i] !== null) {
        $dimensions[] = new Dimension(['name' => $conjunto[$i]]);
    }
}

$request = (new RunReportRequest()) -> setProperty('properties/' . $property_id)
    ->setDateRanges([
        new DateRange([
            'start_date' => "2024-05-06",
            'end_date' => 'today',
        ]),
    ])
    ->setDimensions($dimensions)
    ->setMetrics([
        new Metric(['name' => 'screenPageViews']),
    ]);

Caso seu conjunto seja um array de strings você pode substituir o for por um foreach, dessa forma:

foreach($conjunto as $browser) {
    if ($browser !== null) {
        $dimensions[] = new Dimension(['name' => $browser]);
    }
}

Só mais uma coisa... seu nome é Leonardo Galves mesmo? Se for, é muita coincidência kkkk

Editado por LeonardoGalves
Correção no código do exemplo de foreach.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...