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 值转换成数组,将得到一个空数组。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-06
array_keys()函数。
该函数返回一个包含数字或字符串的键名数组。
这个函数只是获得外层的键名。

有一个比较好用的办法其实是用
foreach($arr $k1=>$v1){
echo $k;//也就是你的a
foreach($v1 $k2=>$v2){
echo $k1;//也就是你的b
}
}
第2个回答  推荐于2018-02-28
举个例子:
<?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"本回答被提问者和网友采纳
第3个回答  2009-03-06
答复已经很好了
相似回答