Jump to content
Fórum Script Brasil
  • 0

Filtro Array Multidimensional


Bruno Fauzi

Question

Bom galera... Preciso de uma ajuda...

Eu trabalho com uma revenda da KingHost, e a mesma possui uma API que utilizo para cadastrar meus clientes por um formulário externo (Para eu não precisar entrar no Painel de Controle da KingHost, Toda vez que tiver que cadastrar um novo cliente)... Assim o próprio cliente faz seu cadastro.

Nesse cadastro, eu aproveito e gravo alguns NOME e EMAIL do cliente em meu Banco de dados pessoal.

Além de cadastrar clientes, eu preciso fazer alguns processos através da API... Porém, para esses processos, eu preciso do ID do cliente cadastrado (Eu não tenho o ID dos clientes cadastrados na revenda através da API).

A única forma de saber o ID de um cliente é através de requisições pela API. Porém, essa requisição retorna uma array multidimensional:

Array ( 
  [status] => ok 
  [body] => Array ( 
            [180770] => Array ( 
			            [idCliente] => 180770 
						[clienteTipo] => I 
						[clienteEmpresa] => 
						[clienteNome] => Julio ramos 
						[clienteCPFCNPJ] => 
						[clienteEmail] => julioramos@live.com 
						[clienteEmailCobranca] => julioramos@live.com 
						[clienteFone] => 555100000000 
						[clienteFax] => 555100000001 
						[clienteEndereco] => Nome da Rua 
						[clienteBairro] => 
						[clienteCidade] => DUQUE DE CAXIAS 
						[clienteEstado] => RJ 
						[clienteCEP] => 44587421 
						[clienteLimiteMapeamento] => 1 
						[clienteLimiteSubdominio] => 20 
						[clienteLimiteMysql] => 20 
						[clienteLimiteMssql] => 0 
						[clienteLimitePgsql] => 0 
						[clienteLimiteFirebird] => 0 
						[clienteLimiteFTPADD] => 5 
						[clienteUniBox] => ON 
						[clienteAcessoFTP] => ON 
						[clienteAcessoDownloadBackup] => ON 
						) 
						  
			[180118] => Array ( 
			            [idCliente] => 180118 
						[clienteTipo] => F 
						[clienteEmpresa] =>  
						[clienteNome] =>Adriano pereira 
						[clienteCPFCNPJ] => 
						[clienteEmail] => adiel@gmail.com 
						[clienteEmailCobranca] => adiel@gmail.com
						[clienteFone] => (21) 984800447 
						[clienteFax] => (0) 
						[clienteEndereco] => Avenida Automóvel Clube 690 Cs 2 
						[clienteBairro] =>  
						[clienteCidade] =>  
						[clienteEstado] => RJ 
						[clienteCEP] => 25260-050 
						[clienteLimiteMapeamento] => 0 
						[clienteLimiteSubdominio] => 0 
						[clienteLimiteMysql] => 0 
						[clienteLimiteMssql] => 0 
						[clienteLimitePgsql] => 0 
						[clienteLimiteFirebird] => 0 
						[clienteLimiteFTPADD] => 0 
						[clienteUniBox] => ON 
						[clienteAcessoFTP] => ON 
						[clienteAcessoDownloadBackup] => ON 
						) 
					) 
		)

Como eu tenho o email dos clientes em meu banco de dados pessoal... Eu quero filtrar essa array utilizando o email do cliente para saber qual é o ID dele.

Bom... Pra ficar mais fácil de entender:

Se esse array fosse o banco de dados, o código seria:

$SQL = mysql_query("SELECT * FROM array WHERE [clienteEmail]='adiel@gmail.com'");

while($result = mysql_fetch_object($SQL)){
    echo "ID: $result->id";
}

Só que não é Banco de dados... kkkkk

Como faço pra imprimir somente o ID de um cliente em questão que esta dentro do array em questão??

Espero que tenham entendido meu dilema e agradeço desde já pela ajuda.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Resolvi a questão com a seguinte função:

function find_items($array,$findwhat,$value,$found=array()){
	foreach($array as $k=>$v){
			if(is_array($v)){
			 	$result = find_items($v,$findwhat,$value,$found);
				if($result === true){
					$found[] = $v; 	
				}else{
					$found = $result;
				}
			}else{
				if($k==$findwhat && $v==$value){
					return TRUE;
				}
			}
	}
	return $found;
	
}
 $cliente = find_items($array,'clienteEmail','emaildoclienteapesquisar@email.com');

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...