Jump to content

expressoes regulares em indices de array?


Ivan22
 Share

Recommended Posts

olá pessoal

é possível, apartir de uma expressão regular aceder a diferentes indices de um array?

por exemplo, o meu POST retorna:

Array(

      [comissao_63] => 0.03

      [alterar_63] => on

      [comissao_70] => 0.00

      [alterar_70] =>

      [comissao_71] => 0.00

      [alterar_71] =>

)

e o que agora pretendia era apenas aceder aos índices das comissões

<?php

$regex="comissao_".preg_quote("/([0-9])/");  //

foreach($_POST[$regex] as $valor){

  echo $valor.'<br>';

}

?>

nem sei  se o foreach reconhece...

Link to comment
Share on other sites

Podes sempre fazer assim:

<?php

$regex="comissao_".preg_quote("/([0-9])/");   //

foreach($_POST as $index => $valor){
    if (preg_match($regex)){
        echo $valor.'<br>';
    }
}

?>

O código é este, mas não verifiquei se o RegEx funciona. 🙂

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

ah, mas a minha ideia é mesmo evitar ao máximo os ciclos do foreach.

porque ele assim continua a percorrer o foreach do POST, só que fazes é um if para saber....

tentei fazer de outra maneira, mas não percebo porque não resulta....

criar um array com os nomes dos indices em que o valor do POST seja, on

só como há varios valores iguais, ele só me retorna primeiro indice.

<?php

 

$indices=array_search('on',$_POST);

?>

só uma coisa na regex que eu tinha mal.

$regex="/^comissao[0-9]/";

Link to comment
Share on other sites

Mas todas as funções que tu chames nativas do PHP têm de percorrer sempre o array, portanto a única diferença é se és tu que a fazes ou se é são as funções nativas do PHP. 🙂

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.