本文目录一览:
PHP取得数组中的所有索引
希望我的回答是准确的
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' = 'touxiang.jpg'
);
那么,array_keys返回的结果应该是
array(
0 = 'id',
1 = 'name',
2 = 'image'
)
因为你取出键值时PHP会默认存为一个数组,所以会产生某个数组键值的键值,但是这个键值只是默认加上的,是PHP的数组特性,并不需要特别关心。
php怎么把关联数组转成索引数组?
PHP和PERL、VB不同,其只有“数组”,没有单独的“关联数组”类型,实际上PHP的所有数组都是关联数组,当没有指定键值的时候,键值为0、1、2??
php中定义数组的方法:
PHP定义数组的格式
数组名=array();
如:$aa=array();//这样就定义了一个数组,
之后给元素赋值:
$aa[0]="9016";
$aa[1]="9017";
$aa[2]="9018";
PHP输出数组的方法:
foreach($aa as $val)
{echo$val;}
也可以在定义数组时直接赋值
$aa=array(0="9016",1="9017";2="9018");
PHP的数组还可以用字符做下标,不一定要数字.
$aa["name"]="Joan";
$aa["num"]="9018";
$aa["email"]="abc@abc.com";
也可以这样
$aa=array("name"="joan","num"="9018","email"="abc@abc.com");
将一个一维数组的元素也定义为数组,就是一个二维数组,
$aa=array(0="a1",1="a2");
$bb=array(0="b1",1="b2");
$cc=array(0=$aa;1=$bb);此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组。
同理,三维,四维数组也可以继续定义下去。
数组的元素不仅于数字和字符串,可以是类的对象。
求解答 php数组索引
用array_search()搜索键值,返回键名(索引),如果同一个值出现多次,那么返回第一次出现时的键名(索引).
?php
$a=array(3,4,5,4,7,3);
$s=array_search('4',$a);
echo $s;//
?
php数组、键名、索引、键值有什么区别?
数组的根据类型来分,分为关联数组和数字索引数组。
1.数组根据 维度来分分为一维数组、二维数组、多维数组,索引数组,数组下标全部为数字的数组称为索引数组,关联数组,数组的下标有一个是字符串的就称为关联数组。
2.声明数组的方式,变量名=array(数组元素1,数组元素2,.......),例如:$arr=array(1,2,3,4,5,6), $arr=array(‘zhangsan’,’lisi’)。
3.变量名[]=值,例如:$arr=[]=10; $arr[]=20, //此时数组$arr里有两个元素,分别是10和20,下标分别是0和1。
4. 那么等号左边的就是数组的下标也叫索引也叫键,箭头指向的便是数组的值,索引数组在声明的时候可以不必指明下标,不指明的情况下,下标默认从0开始。
5.关联数组,下标有一个是字符串的就是关联数组,以键值对方式存在的数组特点,就是你一看,有一个 ”=“,但也不一定这样的都是关联。