#  > Desenvolvimento >  > Linguagens de Programação >  >  Função em PHP pra matriz

## SDM

Eu estou fazendo uma função usando php que compara duas matriz e ao encontrar um valor em que ja existe na outra matriz, ele remove esse valor de uma das matrizes e o valor seguinte passa a ocupar seu lugar, mais ou menos assim:

Matriz 1 Matriz 2

1 8
2 7
3 4
4 f
5 y

Ou seja o numero 4 tem que sair da matriz e o "f" tem que ocupar seu lugar, e o "y" o lugar do "f" ....entenderam??

Se alguem puder me ajudar.... <IMG SRC="images/forum/icons/icon27.gif">

----------


## mistymst

Bom vou fazer uns pedacos aqui para voce, e depois voce cria as funcoes coisa e tals, eh so para dar uma ideia.

for ($x=0 ; $x > 1000 ; $x++) 
for ($y=0 ; $y > 1000 ; $y++) 
{
if ( $matriz1[$x][$y] = $matriz2[$x][$y] )
{
for ($desloc=0; $desloc > 1000 ; $desloc++) {
$matriz2[$x][$y] = $matriz[$x+$desloc][$y+$desloc];
}
}
}

eh mais ou menos isso, considerando que 1000 seria o tam. maximo da sua matriz, bom fiz dessa maneira pois voce falou que era matriz e matrizes sao bidimensionais, se no seu caso for unidimensional fale vetor (pois eh mais ou menos o q vc mostrou no exemplo ai)

Crie sua aplicacao, desenvolva, e va tentando, ai pergunte algo que der problema, nao sou programador em php, entao eh claro que pode ter uma solucao mais facil e mais facil do q essa, ou ate mesmo usar um banco de dados, dependendo da sua aplicacao garoto <IMG SRC="images/forum/icons/icon_smile.gif"> mas eh isso ai.

Isso foi so uma ideia, trabalhe ela melhor.

----------


## mistymst

hehe desgraca esse negocio de forum que nao segura a identacao.. mas tudo bem...

correcao ...

$matriz2[$x+$desloc][$y+$desloc] = $matriz2[$x+$desloc+1][$y+$desloc+1];

----------


## SDM

Ná realidade eu ainda não entendi direito esse negocio de matriz e vetor, mais eu gostaria de fazer uma (talvez) correção, na sua função o for não seria

for($x=0;$x<$tamanho_matriz);$x++)

ou seja enquanto for menor, e não maior, eu ja tinha pensado em fazer esse tipo de rotina, só que eu achei que se derrepente o volume de dados fosse muito grande ele poderia deixar o aplicativo um pouco lento, é que eu pensei que tinha alguma função pre-definida no php pra fazer isso, tipo array_drop($num_pra_dropa)...

Mais mesmo assim valeu, vou seguir seu conselho <IMG SRC="images/forum/icons/icon_wink.gif">

----------


## mistymst

Hehe, exatamente isso dai, foi um erro que passou desapercebido (assim como provavelmente muito outros hehe) 

hehe bom se o php tem essa funcao, eu realmente nao faco a menor ideia, quando voce quiser alguns exemplos de funcoes jah existentes entre outras coisas procure em php.net , la eles tem uma db com todos as funcoes e comandos, mais comentarios <IMG SRC="images/forum/icons/icon_smile.gif">

----------


## SDM

Eu ja to ligado quanto a esse esquema do php.net ter todas as funçoes explicadas, só que como ingles não é meu forte <IMG SRC="images/forum/icons/icon_cool.gif"> e a tradução pra potugues que eles fizeram não é muito boa, tentei me basear pelo bom senso e ver se o nome da função tinha alguma coisa a ver que o que eu quero, só que não achei nada <IMG SRC="images/forum/icons/icon27.gif"> ....

----------

