Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

-rafael-

[Resolvido] eliminar itens de array, com determinado critério

Recommended Posts

ola a todos

 

como faço para eliminar itens do array, seguindo uma determinada regra???

 

a regra seria itens com comprimento <= 2.

 

ex:

 

$nome = 'jose da silva';

$arr = explode(' ', $nome);

/*
entao fica
$arr['1'] = 'jose';
$arr['2'] = 'da';
$arr['3'] = 'silva';
*/

 

no caso quero eliminiar o a peça 'da' do 'jose da silva'.

 

obs: nao tem nada haver com a posição do array, e sim com o comprimento de cada item.

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
var_dump( preg_replace( '/\s?\b\w{2}\b/' , null , 'José da Silva' ) );

 

Saída:

string(11) "José Silva"

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok

 

tecnicamente resolveu meu problema.

 

mas teria como fazer isso depois de ja ter transformado a string em array???

 

no mais, muito obrigado pela ajuda, um dia ainda aprendo a dominar ERs como você!!! rss

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif array_filter()

 

 

<?php
function filtro( $part ){
return strlen( $part ) > 2;
}

$nome = 'jose da silva';
$parts = array_filter( explode( ' ' , $nome ) , 'filtro' );

var_dump( $parts );

 

Saída:

array(2) {
 [0]=>
 string(4) "jose"
 [2]=>
 string(5) "silva"
}

Dando implode:

<?php
function filtro( $part ){
return strlen( $part ) > 2;
}

$nome = 'jose da silva';
$nome = implode( ' ' , array_filter( explode( ' ' , $nome ) , 'filtro' ) );

var_dump( $nome );

 

Saída:

string(10) "jose silva"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.