Função php array_search

Função php array_search
O PHP possui muitas funções internas para variáveis ​​de matriz para pesquisar a chave e o valor da matriz de maneiras diferentes. A função Array_search () é usada para pesquisar o valor específico na matriz e retornar a chave desse valor se o valor da pesquisa existir na matriz. Se o valor da pesquisa existir mais de uma vez na matriz, a chave do primeiro valor correspondente retornará. A sintaxe desta função é dada abaixo.

Sintaxe:

A sintaxe da função Array_search () é dada abaixo.

int | string | false Array_search (misto $ search_value, array $ matriz [, bool $ strict = false])

O primeiro argumento é obrigatório e leva o valor que será pesquisado na matriz.

O segundo argumento é obrigatório e leva a matriz onde o valor será pesquisado.

O terceiro argumento é opcional e o valor padrão deste argumento é falso. Se o valor desse argumento estiver definido como true, o valor da pesquisa será correspondido estritamente. Isso significa que o tipo e o valor do valor da pesquisa exigirão para corresponder ao valor da matriz para obter o valor da chave correspondente.

A função pode retornar Três tipos de valores. Ele retornará um número inteiro ou string com base no valor da chave da matriz; caso contrário, retornará false se o valor da pesquisa não existir na matriz.

Array_search () Exemplos de função

Os usos da função Array_search () foram mostrados na próxima parte deste tutorial usando vários exemplos.

Exemplo 1: Uso de Array_search () sem argumento opcional

Crie um arquivo php com o seguinte script para pesquisar o número específico em uma matriz usando a função Array_search (). A função retornará a posição do índice desse número se houver na matriz; Caso contrário, ele retornará Falso. Uma matriz de 6 valores numéricos foi usada no script. O número de pesquisa será retirado do parâmetro URL.

// declarar uma matriz numérica
$ numarr = [80, 67, 34, 50, 12, 39];
// Verifique se o valor da pesquisa é fornecido no URL ou não
if (isset ($ _ get ['s'])))

// Obtenha o valor de pesquisa
$ search = $ _get ['s'];
// Verifique se o valor da pesquisa existe na matriz ou não
$ output = Array_search ($ pesquisa, $ numarr);
// Verifique o valor retornado do Array_Search ()
se ($ output != False)
eco "$ pesquisa foi encontrada na posição $ da saída.";
outro
eco "$ pesquisa não existe na matriz.";

outro
eco "nenhum valor de pesquisa é dado.";
?>

Saída:

A saída a seguir será exibida após a execução do script acima sem qualquer parâmetro de URL.

http: // localhost/php/array_search1.php

A saída a seguir será exibida após a execução do script acima com o valor do parâmetro URL 67 que existe na matriz no 2nd posição. O índice da matriz começa de 0. Então, a saída é 1.

http: // localhost/php/array_search1.php?s = 67

A saída a seguir será exibida após a execução do script acima com o valor do parâmetro URL, 99, que não existe na matriz.

http: // localhost/php/array_search1.php?s = 99

Exemplo 2: Uso de Array_search () com argumento opcional

Crie um arquivo PHP com o seguinte script que pesquisará o número específico em uma matriz usando o Função Array_search () com o valor de argumento opcional, verdadeiro. Uma matriz associativa de 4 valores foi usada no script. O número de pesquisa será retirado do parâmetro URL.

// declarar uma matriz associativa
$ numarr = ["CSE-302" => 2.0, "CSE-407" => 1.0, "CSE-112" => 3.0, "CSE-202" => 2.0];
// Verifique se o valor da pesquisa é fornecido no URL ou não
if (isset ($ _ get ['s'])))

// Obtenha o valor de pesquisa e converta -o no valor da flutuação
$ search = (float) $ _get ['s'];
// Verifique estritamente o valor de pesquisa existe na matriz ou não
$ output = Array_search ($ pesquisa, $ numarr, true);
// Verifique o valor retornado do Array_Search ()
se ($ output != False)
eco "$ pesquisa foi encontrada na chave, $ output.";
outro
eco "$ pesquisa não existe na matriz.";

outro
eco "nenhum valor de pesquisa é dado.";
?>

Saída:

A saída a seguir aparecerá após a execução do script acima com o valor do parâmetro URL, 3 que corresponde ao valor da matriz, 3.0.

http: // localhost/php/array_search1.php?s = 3

A saída a seguir será apareceu após a execução do script acima com o valor do parâmetro URL 5.0 que não existe na matriz.

http: // localhost/php/array_search1.php?s = 5.0

Exemplo 3: Pesquise em matriz bidimensional usando Array_search ()

Crie um arquivo PHP com o seguinte script para pesquisar o valor específico em uma matriz bidimensional usando a função Array_search (). Uma matriz bidimensional associativa de 3 linhas e 3 colunas foi usada no script. O valor de pesquisa será retirado do parâmetro URL.

// declarar uma matriz bidimensional
$ produtos = [
['id' => '8976', 'nome' => 'hdd', 'preço' => '$ 500'],
['id' => '4590', 'nome' => 'monitor', 'preço' => '$ 600'],
['id' => '1237', 'nome' => 'teclado', 'preço' => '$ 30']
];
// Verifique se o valor da pesquisa é fornecido no URL ou não
if (isset ($ _ get ['s'])))

// Obtenha o valor de pesquisa
$ search = $ _get ['s'];
$ key = array_search ($ search, Array_column ($ produtos, 'nome'));
// Verifique o valor retornado do Array_Search ()
se ($ key != False)
eco "o preço de $ pesquisa é".$ produtos [$ key] ['preço'].".";
outro
eco "$ pesquisa não existe na matriz.";

outro
eco "nenhum valor de pesquisa é dado.";
?>

Saída:

A saída a seguir será exibida após a execução do script acima com o valor do parâmetro URL, 'Rato', que não corresponde a nenhum valor do nome Chave da matriz.

http: // localhost/php/array_search1.php?s = mouse

A saída a seguir será exibida após a execução do script acima com o valor do parâmetro URL, 'Monitor' que corresponde com um valor do nome Chave da matriz.

http: // localhost/php/array_search1.php?s = monitor

Exemplo-4: Usando Array_search () dentro de uma função

Crie um arquivo php com o seguinte script para pesquisar o valor específico em uma matriz usando a função Array_search () dentro de uma função definida pelo usuário. Uma matriz de 5 valores de string foi usada no script. Em seguida, o script usa o operador ternário para imprimir a saída com base no valor retornado da função.

// declarar uma matriz
$ linguagens = ['php', 'perl', 'python', 'java', 'bash'];
// Declare a função para pesquisar o elemento na matriz
function search_in_array ($ val, $ arr)

retornar array_search ($ val, $ arr, true);

// Defina o valor da pesquisa
$ searchval = 'perl';
// Ligue para a função
$ output = Search_in_array ($ searchval, $ linguagens);
// Defina a mensagem com base na condição
$ message = ($ output> = 0) ? "$ SearchVal existe na matriz.":" $ searchval não existe na matriz.";
// Imprima a mensagem
eco $ message;
?>

Saída:

A saída a seguir será exibida após a execução do script acima.

Conclusão

Diferentes maneiras de usar a função Array_search () para diferentes propósitos foram mostradas nos exemplos deste tutorial para ajudar os usuários do PHP a conhecer o uso dessa função corretamente.