www.2527.com_澳门新葡8455手机版_新京葡娱乐场网址_
做最好的网站

PHP遍历数组的二种艺术,PHP重新恢复设置数组为

2019-06-29 02:12 来源:未知

比如这样的一个php数组:

PHP重置数组为连续数字索引的几种方式总结,数组索引

比如这样的一个php数组:

$arr = array( 
  1 => 'apple', 
  3 => 'banana', 
  5 => 'orange' 
); 

想要转换为这样的数组:

$arr = array( 
  0 => 'apple', 
  1 => 'banana', 
  2 => 'orange' 
); 

1、推荐的方式 array_values 方法

这样方式无论对普通数组还是关联数组都适用

<?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)); 

输出结果:

[[email protected] php]# php array.php  
Array 
( 
  [0] => apple 
  [1] => banana 
  [2] => orange 
) 
Array 
( 
  [0] => jerry 
  [1] => 16 
  [2] => 18cm 
) 

2、使用 array_merge 方法

该方法如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。所以只能适用于数字索引。

<?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)); 

输出结果:

[[email protected] php]# php array.php  
Array 
( 
  [0] => apple 
  [1] => banana 
  [2] => orange 
) 
Array 
( 
  [name] => jerry 
  [age] => 16 
  [height] => 18cm 
) 

3、循环遍历

最原始的方式,臃肿且不够优雅,极力抵制。

<?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)); 

以上这篇PHP重置数组为连续数字索引的几种方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持帮客之家。

比如这样的一个php数组: $arr = array( 1 = 'apple', 3 = 'banana', 5 = 'orange' ); 想要转换为这...

PHP中遍历数组有三种常用的方法:
一、使用for语句循环遍历数组;
二、使用foreach语句遍历数组;
三、联合使用list()、each()和while循环遍历数组。
这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。先分别介绍这几种方法。

$arr = array( 
  1 => 'apple', 
  3 => 'banana', 
  5 => 'orange' 
); 

一、使用for语句循环遍历数组 值得大家注意的是使用for语句循环遍历数组要求遍历的数组必须是索引数组。PHP中不仅有关联数组而且还有索引数组,所以PHP中很少用for语句循环遍历数组。
实例代码如下:

想要转换为这样的数组:

复制代码 代码如下:

$arr = array( 
  0 => 'apple', 
  1 => 'banana', 
  2 => 'orange' 
); 

<?php
$arr = array('//www.jb51.net','脚本之家','PHP教程');
$num = count($arr);
for($i=0;$i<$num; $i){
echo $arr[$i].'<br />';
}
?>

1、推荐的方式 array_values 方法

注释:上例代码中我们先计算出数组$arr中元素的个数,然后才使用在for语句,这样做很高效的。因为如果是for($i=0;$i< count($arr); $i)的话,每次循环都会计算数组$arr中元素的个数,而使用上面的方式可以减去这种开销。使用 $i也是为了提高效率,前面有文章我们提到过,建议大家再看看。
上面代码的输出结果为:
//www.jb51.net
脚本之家
PHP教程

这样方式无论对普通数组还是关联数组都适用

二、使用foreach语句遍历数组 使用foreach语句循环遍历数组有二种方式,我们使用的最多的还是第一种方式。介绍如下:
第一种方式:
foreach(array_expression as $value){
//循环体
}
实例代码:

<?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)); 

复制代码 代码如下:

输出结果:

<?php
$arr = array('//www.jb51.net','脚本之家','PHP教程');
foreach($arr as $value){
echo $value.'<br />';
}
?>

[root@localhost php]# php array.php  
Array 
( 
  [0] => apple 
  [1] => banana 
  [2] => orange 
) 
Array 
( 
  [0] => jerry 
  [1] => 16 
  [2] => 18cm 
) 

每次循环中,当前元素的值被赋给变量$value,并且把数组内部的指针向后移动一步。所以下一次循环中会得到数组的下一个元素,直到数组的结尾才停止循环,结束数组的遍历。

2、使用 array_merge 方法

第二种方式: foreach(array_expression as $key=>$value){
//循环体
}
实例代码:

该方法如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。所以只能适用于数字索引。

复制代码 代码如下:

<?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
//定义数组
$arr = array('//www.jb51.net','脚本之家','PHP教程');
foreach($arr as $k=>$v){
echo $k."=>".$v."<br />";
}
?>

输出结果:

三、联合使用list()、each()和while循环遍历数组
each()函数需要传递一个数组作为一个参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。
list()函数,这不是一个真正的函数,是PHP的一个语言结构。list()用一步操作给一组变量进行赋值。

[root@localhost php]# php array.php  
Array 
( 
  [0] => apple 
  [1] => banana 
  [2] => orange 
) 
Array 
( 
  [name] => jerry 
  [age] => 16 
  [height] => 18cm 
) 

实例代码:

3、循环遍历

复制代码 代码如下:

最原始的方式,臃肿且不够优雅,极力抵制。

<?php
//定义循环的数组
$arr = array('website'=>'//www.jb51.net','webname'=>'脚本之家')
while(list($k,$v) = each($arr)){
echo $k.'=>'.$v.'<br />';
}
?> jb51.net

<?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)); 

输出结果为:
website=>//www.jb51.net
webname=>PHP程序员

以上这篇PHP重置数组为连续数字索引的几种方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

总结:上述三种循环遍历数组的方法中建议大家使用foreach语句循环遍历数组,效率更高。

您可能感兴趣的文章:

  • 判断php数组是否为索引数组的实现方法
  • PHP遍历数组的几种方法
  • php遍历数组的4种方法总结
  • PHP遍历数组的方法汇总

您可能感兴趣的文章:

  • 判断php数组是否为索引数组的实现方法
  • php遍历数组的4种方法总结
  • PHP遍历数组的方法汇总
  • PHP重置数组为连续数字索引的几种方式总结
TAG标签:
版权声明:本文由澳门新葡8455手机版发布于www.2527.com,转载请注明出处:PHP遍历数组的二种艺术,PHP重新恢复设置数组为