求解答 php数组索引

求解答 php数组索引,第1张

用array_search()搜索键值,返回键名(索引),如果同一个值出现多次,那么返回第一次出现时的键名(索引).

<?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"]="[email protected]"

也可以这样

$aa=array("name"=>"joan","num"=>"9018","email"=>"[email protected]")

将一个一维数组的元素也定义为数组,就是一个二维数组,

$aa=array(0=>"a1",1=>"a2")

$bb=array(0=>"b1",1=>"b2")

$cc=array(0=>$aa1=>$bb)此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组。

同理,三维,四维数组也可以继续定义下去。

数组的元素不仅于数字和字符串,可以是类的对象。


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

原文地址: http://outofmemory.cn/bake/11768163.html

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

发表评论

登录后才能评论

评论列表(0条)

保存