Ir para conteúdo

POWERED BY:

Arquivado

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

lu4n

Retornar o id do array

Recommended Posts

Boa tarde galera,

 

tenho um array com as seguintes informações:

function secretaria($string) {
	$array = array(
		8 => 'SEC.EDUCAÇAO - FUNDEB 60%',
		8 => 'SEC. DE EDUCAÇAO',
		4 => 'SEC.BEM ESTAR,FAM,CRIANÇA E ADOLEC.'
	);

	echo  $key = array_search($string, array_values($array));

}

$valor = secretaria('SEC. DE EDUCAÇAO');

ai tenho que retornar 8;

só ele retornar NULL

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahh ok,

nesse caso qual seria a solução ???

pois tenho um arquivo com varias linha para alimentar o db, onde pode ser vários nomes com o mesmo id,

 

ai tenho q comparar o nome dele para retornar o id...

 

alguém sabe como fazer isto ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie um ID e armazene dentro do array.

Apartir dai,faça um laço e compare os id salvos dentro do array.

 

Código funcionando:

 

 

<?php
function secretaria($string) {
$array = array(
0 => array(8,'SEC.EDUCAÇAO - FUNDEB 60%'),
1 => array(8,'SEC. DE EDUCAÇAO'),
2 => array(4,'SEC.BEM ESTAR,FAM,CRIANÇA E ADOLEC.')
);


for($i =0; $i< count($array);$i++)
{

if($string == $array[$i][1])
{
echo $array[$i][0];
}

}

}

$valor = secretaria('SEC.BEM ESTAR,FAM,CRIANÇA E ADOLEC.');

?>
 

 

Saída :$valor = 4

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie um ID e armazene dentro do array.

Apartir dai,faça um laço e compare os id salvos dentro do array.

 

Código funcionando:

<?php
function secretaria($string) {
$array = array(
0 => array(8,'SEC.EDUCAÇAO - FUNDEB 60%'),
1 => array(8,'SEC. DE EDUCAÇAO'),
2 => array(4,'SEC.BEM ESTAR,FAM,CRIANÇA E ADOLEC.')
);


for($i =0; $i< count($array);$i++)
{

if($string == $array[$i][1])
{
echo $array[$i][0];
}

}

}

$valor = secretaria('SEC.BEM ESTAR,FAM,CRIANÇA E ADOLEC.');

?>
 

Saída :$valor = 4

 

cara eu fiz assim, mais dá um erro:

Undefined offset: 1

eu procurei na net fiz algumas alterações e nada...

pode informar pq do erro :

??

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

cara eu fiz assim, mais dá um erro:

Undefined offset: 1

eu procurei na net fiz algumas alterações e nada...

pode informar pq do erro :

??

Segundo o erro,o indice não existe.

 

O que você modificou do meu código ,para que eu possa ver aonde está errado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
function secretaria($string) {

	$array = array(
		0 => array(8 => 'SEC.EDUCAÇAO - FUNDEB 60%'),
		1 => array(8 => 'SEC. DE EDUCAÇAO'),
		2 => array(4 => 'SEC.BEM ESTAR,FAM,CRIANÇA E ADOLEC.'),
		3 => array(16 => 'SEC. DE SAUDE')
	);
	

	for($i = 0; $i< count($array[0]); $i++) {
		if($string == $array[1][1]) {
			return $array[$i][0];
		}
	}
}

$secretaria = 'SEC.BEM ESTAR,FAM,CRIANÇA E ADOLEC.';
$secretaria = secretaria($secretaria);

está desse jeito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você criou um índice dentro do array,então no laço for,como começa em 0,não existe,vai pra 1,não existe,vai pra 2,não existe,até chegar em 8,que é o indíce,ou seja,deste jeito está errado pois você tá consultando um indice que você nem sabe o valor.

 

Adaptei o código:


<?php
function secretaria($string) {
$array = array(
0 => array(8,'SEC.EDUCAÇAO - FUNDEB 60%'),
1 => array(8,'SEC. DE EDUCAÇAO'),
2 => array(4,'SEC.BEM ESTAR,FAM,CRIANÇA E ADOLEC.'),
3 => array(16,'SEC. DE SAUDE.')

);


for($i =0; $i< count($array);$i++)
{

if($string == $array[$i][1])
{
return $array[$i][0];
}

}

}

$secretaria = 'SEC.BEM ESTAR,FAM,CRIANÇA E ADOLEC.';
$secretaria = secretaria($secretaria);
echo $secretaria;
?>
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara agora analisei o código, comparando com o meu realmente vii q o erro está no segundo array.

Vlw mesmoo

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.