用数组偏移可以实现,首先数组分下标连续的数组和非下标连续的数组,通俗的说就是数字下标和非数字下标,数字下标
$number=array(
0=>"hello",
1=>"world"
);
像以上这种类型的数组,想取出单个值,可以这样取:echo $number[0],结果会输出hello,当然还可以用for,foreach等依次遍历取出所有值。
非数字下标:
$abc=array(
"a"=>"this is array first value",
"b"=>"this is array two value"
);
这个数组也可以用上面偏移的方法取出单个值,下面例子就用foreach取出key和val:
foreach($abc as $key=>$val){
echo $key'/'$val;
}
以上为纯原创手打,而且是手机打出来的,如果满意,请采纳
如果是平常的数组,可以循环对比找出是哪一个:
var arr = ["a","b","c"];$each(arr,function(idx){
if(arr[idx] == 'a'){
consolelog(idx)//idx为数组下标
}
});
如果是jq对象,比如$('p'),用index()就可以获取
你只知道元素值,还是知道元素值的地址。
如果是只知道元素值,那只有用循环查找了。
如果是知道元素值的地址,那可以求出单个元素字节长度和数组首地址,
(被选元素地址
-
首地址)/(单个元素字节长度)。(注意:这里没有-1,是因为数组下标从0标记的)
例子:
#include
int
main()
{
int
i,
p,
q,
n,
a[10];
for(
i=0;
i<10;
i++
)
a[i]
=
i;
//求a[4]=4的下标
for(
i=0;
i<10;
i++
)
if(
a[i]
==
4
)
printf("元素4的下标为:%d\n",
i);
//第二种情况,假设我们不知道被选元素a[4],p=&a[4]中间经过了多重转换,已经不记得下标了
p
=
&a[4];
q
=
&a[0];
n
=
sizeof(&a[0]);
printf("下标为:%d",
(p-q)/n);
return
0;
}
用整个数组size除以数组首元素的size
例如:
int a[5]={1,2,3,4,5};
char b[5]={'a','b','c','d','e'};
int sizea = sizeof(a)/sizeof(a[0]);
int sizeb = sizeof(b)/sizeof(b[0]);
但是数组最大下标需要减1
也就是int Max_Index_a = sizeof(a)/sizeof(a[0]) - 1;
你所说的这种通过传参的方式,在C/C++中是不能获得数组长度的,除非是你自己封装的一维数组类型
问题逻辑有点混乱,是不是判断某个数值在数组内是不是最后一个? 如果是用数组下标来索取元素,只要保证下标不越界。反之,如果用元素来索取数组内下标,则只需获得数组末尾值比对,前提:数组内元素不各不相同。
以上就是关于PHP如何得到数组最后元素的key全部的内容,包括:PHP如何得到数组最后元素的key、jquery怎么获取数组的下标、如何获取数组中被选元素的下标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)