1. php重置数组为连续数字索引的几种方式
PHP重置数组为连续数字索引的几种方式
比如这样的一个php数组:
[php]view plain
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
想要转换为这样的数组:
[php]view plain
$arr=array(
0=>'apple',
1=>'banana',
2=>'orange'
);
1、推荐的方式 array_values 方法
这样方式无论对普通数组还是关联数组都适用
[php]view plain
<?php
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
print_r(array_values($arr));
$arr1=array(
'name'=>'jerry',
'age'=>16,
'height'=>'18cm'
);
print_r(array_values($arr1));
输出结果:
[sql]view plain
[root@localhostphp]#phparray.php
Array
(
[0]=>apple
[1]=>banana
[2]=>orange
)
Array
(
[0]=>jerry
[1]=>16
[2]=>18cm
)
2、使用 array_merge 方法
该方法如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。所以只能适用于数字索引。
[php]view plain
<?php
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
print_r(array_merge($arr));
$arr1=array(
'name'=>'jerry',
'age'=>16,
'height'=>'18cm'
);
print_r(array_merge($arr1));
输出结果:
[php]view plain
[root@localhostphp]#phparray.php
Array
(
[0]=>apple
[1]=>banana
[2]=>orange
)
Array
(
[name]=>jerry
[age]=>16
[height]=>18cm
)
3、循环遍历
最原始的方式,臃肿且不够优雅,极力抵制。
[php]view plain
<?php
functionresetArr($arr){
$temp=array();
foreach($arras$v){
$temp[]=$v;
}
return$temp;
}
$arr=array(
1=>'apple',
3=>'banana',
5=>'orange'
);
print_r(resetArr($arr));
$arr1=array(
'name'=>'jerry',
'age'=>16,
'height'=>'18cm'
);
print_r(resetArr($arr1));
That‘s it!
2. php数组怎么保留数字索引
PHP 中的 array_values() 函数可以实现 array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。 被返回的数组将使用数值键,从 0 开始且以 1 递增。 例子 输出: Array ( [0] => Cat [1] => Dog [2] => Horse )
3. 请教PHP数组获得元素索引值的问题
已解决,查询出二维数组的key
?
public function findId(&$a,$id){
foreach($a as $k=>$t){
if(in_array($id,$t))
return $k;
}
return FALSE;
}
4. php 数组索引值如何重新从0开始递增
对于索引数组,php还有提供了另外一个内置函数,能够重置数组索引array_merge($arr),当array_merge()只传入一个参数且键名是整数,返回该数组,其键名以0开始进行重新索引。
其中PHP中的数组实际上是一个有序映射。映射是一种把values关联到keys的类型。换言之,数组是特殊的变量,可以同时保存一个以上的值。
在PHP中数组类型有三种:索引数组(带有数字索引的数组),关联数组(带有指定键的数组),多维数组(包含一个或多个数组的数组)。
(4)php数组索引扩展阅读:
注意事项:
1、两个相同的索引数组,同时执行,后面的会把前面的覆盖掉。
2、在php中 索引数组的下标可以不连续。
3、如果两个下标是空会自动增加。
4、数组的自动增长下标,默认是从0开始的,自动增长的都是出现过的最大值加1。
5、关联数组不会影响到索引数组的排序规则,就算是索引数组是负数 也不会影响,最大值+1。
5. PHP如何让数组索引从零开始
PHP 中的 array_values() 函数可以实现
array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。
被返回的数组将使用数值键,从 0 开始且以 1 递增。
例子
<?php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
print_r(array_values($a));
?>
输出:
Array ( [0] => Cat [1] => Dog [2] => Horse )
6. 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的数组特性,并不需要特别关心。
7. php数组怎样根据值得到索引
用array_search()搜索键值,返回键名(索引),如果同一个值出现多次,那么返回第一次出现时的键名(索引).
<?php
$a=array(3,4,5,4,7,3);
$s=array_search('4',$a);
echo $s;//
?>
8. php 数组如何去掉索引值
不可能去掉,默认都会有数字作为索引值。不然怎么取值
9. 怎样去除 PHP 数组的默认索引
你定义数组时自己设置索引不就行了,比如$a[3] = 5;
10. php数组、键名、索引、键值有什么区别
数组的根据类型来分,分为关联数组和数字索引数组。