请教PHP数组获得元素索引值的问题

请教PHP数组获得元素索引值的问题,第1张

已解决,查询出二维数组的key

public function findId(&$a,$id){

        foreach($a as $k=>$t){

            if(in_array($id,$t))

                return $k;

        }

        return FALSE;

    }

希望我的回答是准确的

1全等比较的意思是检查数据类型,比如有这么一个数组:$a1 = array(10,20,30,"10"),如果你array_keys($a1,"10",false),则会返回两个值,因为在数组中存在一个int和一个string,最终值都是10;但是如果第三个参数设置为true,那么会判断查询的值的类型是否存在于数组中,这时候返回值就不同了。可以亲自尝试一下

2关于索引的这个例子,PHP中的数组都是有索引的,如果你没有加索引,那么默认会给你加上。

例如:

$arr2=array(

'sunday',

'saturday',

'monday',

'sunday',

'sunday',

);

这种写法是缩减的,它完整的写法应该是

$arr2=array(

0 => 'sunday',

1 => 'saturday',

2 => 'monday',

3 => 'sunday',

4 => 'sunday',

);

这样。array_keys找出所有此数组中的键值,那么如果不带参数,则会返回0,1,2,3,4这样的。而返回值又是一个数组,所以PHP把返回的键值存放在一个数组中。这样你就会混乱。这个例子不好,我们举另外一个例子:

比如现在有个数组:

$a = array(

'id' => 1,

'name' => wang,

'image' => 'touxiangjpg'

);

那么,array_keys返回的结果应该是

array(

0 => 'id',

1 => 'name',

2 => 'image'

)

因为你取出键值时PHP会默认存为一个数组,所以会产生某个数组键值的键值,但是这个键值只是默认加上的,是PHP的数组特性,并不需要特别关心。

以上就是关于请教PHP数组获得元素索引值的问题全部的内容,包括:请教PHP数组获得元素索引值的问题、PHP取得数组中的所有索引、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10174286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存