Ir para conteúdo

POWERED BY:

Arquivado

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

OmegaX

Array_search()

Recommended Posts

Neste exemplo:

$a=array("a","b",0,"c","d");
echo "a: ".array_search("a",$a)."<br>";
echo "b: ".array_search("b",$a)."<br>";
echo "c: ".array_search("c",$a)."<br>";
echo "d: ".array_search("d",$a)."<br>";
echo "0: ".array_search("0",$a)."<br>";
echo "x: ".array_search("x",$a)."<br>";
echo "1: ".array_search("1",$a)."<br>";
print_r($a);

Resultado:

a: 0

b: 1

c: 2

d: 2

0: 2

x: 2

1:

Array ( [0] => a [1] => b [2] => 0 [3] => c [4] => d )

 

A função array_search() procura um valor no array e retorna o índice se ele existir, certo? Mas, por que se eu coloco o 0 ali no array o resto dos valores(c,d,0, e até o x, que não tem la) são exibidos com índice 2?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai funciona

Resultado:

a: 0

b: 1

c: 3

d: 4

0: 2

x:

1:

Array ( [0] => a [1] => b [2] => 0 [3] => c [4] => d )

 

Mas não entendi o que você falou, o que é casting e tipagem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia documentação da função: http://php.net/manual/en/function.array-search.php

 

array_search aceita um terceiro parâmetro booleano $strict.

 

Tente desta forma:

 

$a=array("a","b",0,"c","d");
echo "0: ".array_search("0",$a,true)."<br>";
echo "0: ".array_search("0",$a,false)."<br>";

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, vlw pelas dicas pessoal. Tentei como você disse Jaime mas continua do mesmo jeito, acho que é como o André falou, deve ser o casting, na hora que o php faz a conversão. Será que essa função aceita parâmetros do tipo inteiro? Porque pelos exemplos que eu vi nesses sites só tem strings no array.

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.