获取方法:1、用“array_values(数组)”将指定数组转为索引数组;2、用“array_search(数值,索引数组)”,在索引数组中搜索数值,返回对应的索引值(下标);3、用“索引值+1”语句获取元素在数组中的位置值。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php获取数值在数组中的哪个位置

实现方法:

  • 使用array_values()将指定数组转为索引数组(主要针对关联数组,如果本来就是索引数组,没有变化)。

$array=array("id"=>1,"name"=>"李华","age"=>23,"1"=>1,"id2"=>52);
var_dump($array);
$values=array_values($array);
var_dump($values);

1.png

  • 使用array_search()在索引数组中搜索指定数值,如果成功则返回相应的键名(索引值或下标)。

    (索引数组的键名当然就是数字值,每个数字对应一个数组元素在数组中的位置)

$index=array_search(23,$values);
echo $index;

2.png

  • 索引数组的键名是从0开始计数的,因此在键名的基础上要加1

完整实现代码:检查数值23在数组中的位置

<?php
header("Content-type:text/html;charset=utf-8");
$array=array("id"=>1,"name"=>"李华","age"=>23,"1"=>1,"id2"=>52);
$values=array_values($array);
var_dump($values);
$index=array_search(23,$values)+1;
echo "数值23在数组的第 ".$index." 位";
?>

3.png


php怎么获取数值在数组中的哪个位置