PHP获取数组下标的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP获取数组下标的问题相关的知识,希望对你有一定的参考价值。

例如现在有这样一个数组:
$array['a']['b']
我想获取这个数组的下标,也就是我要取得的值不是数组值,而是下标值,也就是'a'和'b',
记得有一个数组函数是用来取得数组的下标的,但是不知道具体用法,尤其是对于这种二维数组的,希望高人指教

php 获取数组指定值的位置或下标代码如下:

<?php

    //定义一个数组

    $array = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');

    //使用 array_search('要搜索的值',数组);

    $key = array_search('b', $array); // $key = 1;

    $key = array_search('a', $array);   // $key = 0;

?>

扩展资料

php 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。

因为可以用另一个 php 数组作为值,也可以很容易地模拟树。解释这些结构超出了本手册的范围,但对于每种结构至少会发现一个例子。要得到这些结构的更多信息,建议参考有关此广阔主题的外部著作。

对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅有一个元素的数组(其下标为 0),该元素即为此标量的值。如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为成员变量名。

如果将一个 NULL 值转换成数组,将得到一个空数组。

参考技术A array_keys()函数。
该函数返回一个包含数字或字符串的键名数组。
这个函数只是获得外层的键名。

有一个比较好用的办法其实是用
foreach($arr $k1=>$v1)
echo $k;//也就是你的a
foreach($v1 $k2=>$v2)
echo $k1;//也就是你的b

参考技术B 举个例子:
<?php

$arr=array();
$arr["1"]["a"]="w";
$arr["1"]["b"]="x";
$arr["2"]["c"]="y";
$arr["2"]["d"]="z";

foreach( array_keys($arr) as $k1 )
foreach( array_keys($arr[$k1]) as $k2 )
echo "key1:\"$k1\" key2:\"$k2\"<br />";



输出如下:

key1:"1" key2:"a"
key1:"1" key2:"b"
key1:"2" key2:"c"
key1:"2" key2:"d"本回答被提问者和网友采纳
参考技术C 答复已经很好了

java如何通过下标获取数组中的元素?

数组中的元素就是通过下标获取的啊,你是探究其中的原理吗?你可以把他想象成一排有效的数字,是从0还是,然后有序的排列着的,你想要叫几号出来,只要直接喊他名字就行了,并不用知道这个人的名字或者性别或者其他东西 参考技术A 例如int [] a= new int[10]; 用下标获取第一个元素写成:a[0] 即可

以上是关于PHP获取数组下标的问题的主要内容,如果未能解决你的问题,请参考以下文章

array_map 等php回调函数使用问题(关联数组下标获取)

PHP如何取得数组的上标和下标

PHP中用下标符号[]去读取字符串的逻辑

php中怎样从一个数组中随机取一个元素出来呢?

php 二维数组查找数组下标

哈希表与布隆过滤器