Ir para conteúdo

POWERED BY:

Arquivado

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

diegohamaz1

array

Recommended Posts

Galera tenho o seguinte array a estrutura dele é assim

 

 

Array (

[0] => Array ( [tipo] => 2 [data] => 2015-03-26 )

[1] => Array ( [tipo] => 1 [data] => 2015-03-26 )

[2] => Array ( [tipo] => 1 [data] => 2015-03-27 )

[3] => Array ( [tipo] => 2 [data] => 2015-03-27 )

[4] => Array ( [tipo] => 1 [data] => 2015-03-28 )

[5] => Array ( [tipo] => 2 [data] => 2015-03-28 )

)

 

queria fazer o seguinte quando tiver tipo 1 e 2 na mesma data fazer um contador , no caso seria 2 por que tem 1 e 2 no dia 27 e 1 e 2 no dia 28, como posso fazer de uma meneira inteligente esse contador?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é estou fazendo exatamente como falou mas não ta dando mtu certo kkk

 

 

o codigo

$arr_ck[] = array("tipo" =>$rt['TP_ORIGEM'],"data" =>$rt['data']);

foreach($arr_ck as $ckin){
    $final ="";

    $data = $ckin['data'];
    if($camp != $data ){
        if($ckin['tipo'] === "1" && $ckin['tipo'] === "2") $ck_IN = true;
        if($ck_IN === true) $final = $final + 1;
    }
    $camp = $data;
    $t++;
}


Como é um laço ele se perde seria alguma coisa com in_array dentro do laço essa é minha duvida...


Tipo isso mas nao funcionou tbm

foreach($arr_ck as $ckin){
	$final ="";
	$data = $ckin['data'];
	if($camp != $data ){
		if(in_array(array(1,2), $arr_ck)){
			$final = $final + 1;
		}
	}
	$camp = $data;
	$t++;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se te ajuda.

 

O macete ta em array_intersect.

<?php

	$array = array("tipo" =>$rt['TP_ORIGEM'],"data" =>$rt['data']);
	
	$arrayTipo01 = array();
	$arrayTipo02 = array();
	
	for($i = 0 ; $i < count($array)  ; $i++ )
	{
		switch($array[$i]['tipo']){
			case 1: $arrayTipo01[] = $array[$i]['data']; break;
			case 2: $arrayTipo02[] = $array[$i]['data']; break;
		}
	}
	
	// * Agora, só analisar as diferenças.
	// * Se tiver array semelhante, adiciona ao array final, e com ele fazemos o contador.
	$arraySobrando = array_intersect($arrayTipo01,$arrayTipo02);
	$contador = count($arraySobrando);
	echo $contador; // * retorna "2", referente aos dois dias que tem tipo 1 e 2
	
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolveu mtu nao viu... putz

foreach($arr_ck as $ckin){
	
	$data = $ckin['data'];
	if($camp == $rt['data']){
		$final = $final + 1;
	}
	$camp = $data;
	$t++;
}

No caso estou percorrendo direitinho cada data com esse foreach agora queria saber alguma funcionalidade em PHP que conte que tem 1, 2 no $ckin['tipo'] , se ele verificar que tem 1 e 2 ele me retorne um true por exemplo

 

as laços podem vir assim

 

2 2015-03-27

1 2015-03-27

1 2015-04-02

 

No caso queria que me retornasse 1 que tem apenas 1 com (1 e 2)

outro laço

 

2 2015-03-26

1 2015-03-26

2 2015-03-27

1 2015-03-27

 

No caso queria que me retornasse 2 que tem 2 com (1 e 2), parece simples mas na hora de codar me deu um branco :pinch:

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.