Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

149
Visualizações
cambiar el índice después de filtrar y recortar la matriz

Necesito cambiar el índice de la matriz después de filtrar la matriz y recortar los espacios en blanco.

 $officials_arr= $this->input->post('officials'); $officials = array_filter(array_map('trim', $officials_arr)); print_r($officials);

Salida deseada:

 ( [0] => off1 [1] => off2 [2] => off3 )

Pero obtuve salida como:

 Array ( [0] => off1 [1] => off2 [3] => off3 )
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Use array_values , vea aquí .

 $officials = array_values($officials);
over 4 years ago · Santiago Trujillo Relatório

0

En lugar de usar: $officials=array_values(array_filter(array_map('trim',$officials_arr))); (... que, por cierto, eliminará todos los valores nulos, falsos y cero de su matriz; este es el comportamiento predeterminado codicioso de array_filter() ) Le recomiendo que genere la salida deseada de una manera más confiable y manera eficiente usando solo array_walk() y strlen() en una sola línea. Mi método eliminará las cadenas de longitud cero (nula/falsa/vacía), recortará los espacios de ambos lados de cada valor y volverá a indexar la matriz de resultados.

Entrada (aviso, aviso que he agregado espacios y valores vacíos):

 $officials_arr=[' off1' , 'off2' , '' , 'off3 ' , null]; space ^ empty string^ space^ ^null

Método:

 array_walk($officials_arr,function($v)use(&$officials){if(strlen($v)){$officials[]=trim($v);}}); var_export($officials);

Producción:

 array ( 0 => 'off1', 1 => 'off2', 2 => 'off3', )

Desglose:

 array_walk( // iterate each element in the input array $officials_arr, // input array function($v) // temporary variable name for each element use(&$officials){ // declare the output array, & means "modifiable" if(strlen($v)){ // check if element value has any characters $officials[]=trim($v); // push qualifying value into output array } } );
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda