<?php
$a=array(3,4,5,4,7,3)
$s=array_search('4',$a)
echo $s//
?>
PHP重置数组为连续数字索引的几种方式
比如这样的一个php数组:
[php] view plain copy
$arr = array(
1 => 'apple',
3 => 'banana',
5 => 'orange'
)
想要转换为这样的数组:
[php] view plain copy
$arr = array(
0 => 'apple',
1 => 'banana',
2 => 'orange'
)
1、推荐的方式 array_values 方法
这样方式无论对普通数组还是关联数组都适用
[php] view plain copy
<?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 copy
[root@localhost php]# php array.php
Array
(
[0] => apple
[1] => banana
[2] => orange
)
Array
(
[0] => jerry
[1] => 16
[2] => 18cm
)
2、使用 array_merge 方法
该方法如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。所以只能适用于数字索引。
[php] view plain copy
<?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 copy
[root@localhost php]# php array.php
Array
(
[0] => apple
[1] => banana
[2] => orange
)
Array
(
[name] => jerry
[age] => 16
[height] => 18cm
)
3、循环遍历
最原始的方式,臃肿且不够优雅,极力抵制。
[php] view plain copy
<?php
function resetArr($arr){
$temp = array()
foreach($arr as $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!
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=>$aa1=>$bb)此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组。
同理,三维,四维数组也可以继续定义下去。
数组的元素不仅于数字和字符串,可以是类的对象。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)