金沙贵宾会官网|金沙贵宾会登录-官网

【A】金沙贵宾会官网超高的返奖率为娱乐者提供资金保障,所以金沙贵宾会登录官网更加的方便了你的娱乐,申请88元彩金,因为在当中不仅仅只有游戏。

PHP中使用数组指针函数操作数组示例,数组的声

日期:2019-09-26编辑作者:网络安全

组的内部指针是数组内部的组织机制,指向一个数组中的某个元素。默认是指向数组中第一个元素通过移动或改变指针的位置,可以访问数组中的任意元素。对于数组指针的控制PHP提供了以下几个内建函数可以利用。

数组的内部指针是数组内部的组织机制,指向一个数组中的某个元素。默认是指向数组中第一个元素通过移动或改变指针的位置,可以访问数组中的任意元素。对于数组指针的控制PHP提供了以下几个内建函数可以利用。

数组的声明

★current():取得目前指针位置的内容资料。
★key():读取目前指针所指向资料的索引值(键值)。
★next():将数组中的内部指针移动到下一个单元。
★prev():将数组的内部指针倒回一位。
★end():将数组的内部指针指向最后一个元素。
★reset():将目前指针无条件移至第一个索引位置。

★current():取得目前指针位置的内容资料。
★key():读取目前指针所指向资料的索引值(键值)。
★next():将数组中的内部指针移动到下一个单元。
★prev():将数组的内部指针倒回一位。
★end():将数组的内部指针指向最后一个元素。
★reset():将目前指针无条件移至第一个索引位置。

1、直接赋值的方式声明数组

这些函数的参数都是只有一个,就是要操作的数组本身。在下面的示例中,将使用这些数组指针函数控制数组中元素的读取顺序。代码如下所示:

这些函数的参数都是只有一个,就是要操作的数组本身。在下面的示例中,将使用这些数组指针函数控制数组中元素的读取顺序。代码如下所示:

    $数组变量名[索引值] = 资料内容 //其中索引值(下标)可以是一个字符串或数字

 代码如下

复制代码 代码如下:

但有的时候,我们也可以直接给数组赋值,并不填写“索引值”,那第此时,数组的下标就会自动以数字0开始增加。

<?php
$contact = array(
"ID" => 1,
"姓名" => "高某",
"公司" => "A公司",
"地址" => "北京市",
"电话" => "(010)98765432",
"EMAIL" => "gao@brophp.com",
)
 
//数组刚声明时,数组指针在数组中第一个元素位置
echo '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //第一个元素
echo '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //数组指针没动
 
next($contact);
next($contact);
echo '第三个元素:'.key($contact).' => '.current($contact).'<br>'; //第三个元素
 
end($contact);
echo '最后一个元素:'.key($contact).' => '.current($contact).'<br>';
 
prev($contact);
echo '倒数第二个元素:'.key($contact).' => '.current($contact).'<br>';
 
reset($contact);
echo '又回到了第一个元素:'.key($contact).' => '.current($contact).'<br>';
?>

<?php
$contact = array(
"ID" => 1,
"姓名" => "高某",
"公司" => "A公司",
"地址" => "北京市",
"电话" => "(010)98765432",
"EMAIL" => "gao@brophp.com",
);
 
//数组刚声明时,数组指针在数组中第一个元素位置
echo '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //第一个元素
echo '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //数组指针没动
 
next($contact);
next($contact);
echo '第三个元素:'.key($contact).' => '.current($contact).'<br>'; //第三个元素
 
end($contact);
echo '最后一个元素:'.key($contact).' => '.current($contact).'<br>';
 
prev($contact);
echo '倒数第二个元素:'.key($contact).' => '.current($contact).'<br>';
 
reset($contact);
echo '又回到了第一个元素:'.key($contact).' => '.current($contact).'<br>';
?>

    $数组变量名[] = 资料内容 //其中索引值(下标)可以是一个字符串或数字

在上例中通过使用指针控制函数next()、prev()、end()和reset()随意在数组中移动指针位置,再使用key()和current()函数获取数组中当前位置的键和值。

在上例中通过使用指针控制函数next()、prev()、end()和reset()随意在数组中移动指针位置,再使用key()和current()函数获取数组中当前位置的键和值。

 2、使用array()语言结构新建数组

您可能感兴趣的文章:

  • php each 返回数组中当前的键值对并将数组指针向前移动一步实例
  • 简单了解PHP编程中数组的指针的使用
  • PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
  • php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
  • php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
  • php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
  • php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
  • php 数组的指针操作实现代码
  • 约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
  • php数组指针操作详解

在实际使用中我们可以用array()语言结构来新建一个数组,并初始化数组。

    $数组变量名=array( key1 => value1, key2 => value2, ...... ,keyN => valueN );

当然,像上面我们并不一定就这样,我们有的时候会像下面这样来做:(区别在于索引值为数字)

    $数组变量名=array( value1, value2, ...... , valueN );

 3、多维数组的声明

多维数组其实也就是在数组里面再次存放数组。如下:

    $content = array (
    array(1,'高某','A公司','北京市'),
    array(2,'高某1','B公司','北京市'),
    array(3,'高某','C公司','北京市')
    );

 数组的遍历

1、使用for语句循环遍历数组

在其它的编程语言中,数组的遍历通常都是使用for循环语句,通过数组的下标来访问数组中每个成员元素,但要求数组的下标必须是连续的数字索引。而在PHP中,不仅可以指定非连续的数字索引值,而且还存在以字符为下标的关联数组。所以在PHP中,其实是很少使用for语句来遍历数组。下面来晒一个例子给大家看一下,大家应该不会陌生。

  

 代码如下

  <?php
    //使用array()语句将联系人列表中第一条记录声明成一维数组$contact
    $contact=array(1,"高某","A公司","北京市","(015)9582451","gao@php.com");
    //以表格的形式输出一维数组中的每个元素
    echo '<table border="1" width="600" align="center">'; //输出<table>标记定义表格
    echo '<caption><h1>联系人列表</h1></caption>'; //输出表头
    echo '<tr bgcolor="#dddddd">'; //输出表格的行开始,背景为灰色
    
    //以html的th标记输出表格的字段名称
    echo '<th>编号</th><th>姓名</th><th>公司</th><th>地址</th><th>电话</th><th>EMAIL</th>';
    echo '</tr><tr>';
    for($i=0;$i<count($contact);$i++){ //使用for循环来输出一维数组中的元素
    echo '<td>'.$contact[$i].'</td>';
    }
    echo '</tr></table>'; //输出表格的关闭标记
    ?>

遍历多维数组时,要使用循环嵌套逐层进遍历。在此就不用代码列出来了。

 
2、使用foreach语句遍历数组

既然for循环语句在PHP中并不常用,那么就让我们来看一下foreach到底有什么可取之处吧!

foreach语句有两种语法格式,第二种比较次要但却是第一种有用的扩展。

第一种语法格式:

    foreach(array_expression as $value ){
    
    循环体
    
    }

第二种语法模式:

    foreach(array_expression as $key => $value){
    
    循环体
    
    }

 3、联合使用list()、each()、和while()、循环遍历数组

each()函数

each()函数需要传递一个数组作为参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。键/值对被返回为带有四个元素的关联和索引混合的数组,键名分别为0、1、key和value。其中键名0和key对应的值是一样的,是数组元素的键名,1和value则包含有数组元素的值。如果内部指针越过了数组的末端,则each()返回FALSE。each()函数的使用如下所示:

   

 代码如下

<?php
    //声明一个数组$contact作为each()函数的参数
    $contact=array("ID"=>1,"姓名"=>"高某","");
    
    $id=each($contact); //返回数组$contact中第一个元素的键/值对,是带有4个元素的数组
    print_r($id); //返回数组$id:Array([1]=>1[value]=>1[0]=>ID[key]=>ID)
    $name=each($contact); //返回数组Rcontact中第二个元素的键/值对,是带有4个元素的数组
    print_r($name); //返回数组$name:Array([1]=>高某 [value]=>高某 [0]=>姓名 [key]=>姓名)
    $company=each($contact);
    print_r($company);
    $address=each($contact);
    print_r($address);
    $no=each($contact); //已经到数组$contact的末端,返回false
    var_dump($no); //输出$no的值:bool(false)
    
    ?>

 list()函数

这不是真正的函数,而是PHP的语言结构。list()用一步操作给一组变量进赋值,即把数组中的值赋给一些变量。list()仅能用于数字索引的数组并假定数字索引从0开始。语法格式如下所示:

    list(mixed varname,mixed ...)=array_expression //list()语句的语法格式

list()语句和其它函数在使用上有很大的区别,并不是直接接收一个数组作为参数。而是通过“=”去处符以赋值的方式,将数组中每个元素的值,对应的赋给list()函数中的每个参数。list()函数又将它中的每个参数转换为直接可以在脚本中使用的变量。使用方法如下 :

  

 代码如下

  <?php
    $info=array('coffee','brown','caffeine'); //声明一个索引数组$info
    
    list($drink,$color,$power)=$info; //将数组中的所有元素转为变量
    echo "$drink is $color and $power makes it special.n";//输出的三个变量值是数组中三个元素的值
    
    list($drink, ,$power)=$info; //将数组中的部分元素变为变量
    echo "$drink has $power.n"; //输出的两个变更值是数组中的前两个元素的值
    
    list(,,$power)=$info; //跳过前两个变量只将数组中第三个元素的值转为变量
    echo "I need $power!n"; //输出的一个变量值是数组中桃花汛三个元素的值勤
    ?>

通过上例了解list()函数的用法之后,将each()函数和list()函数结合起来使用。代码如下:

   

 代码如下

<?php
    $contact=array("ID"=>1,"姓名"=>"");
    list($key,$value)=each($contact); //将each()函数和list()函数联合使用
    echo "$key=>$value"; //输出变量$key和$value,中间使用"=>"分隔
    ?>

 while()循环遍历数组

while()循环的语法格式如下:

    while( list($key,$value) = each(array_expressin) ){
    循环体;
    }

使用这种组合改写前面使用foreach遍历过的一维数组。代码如下所示:

   

 代码如下

<?php
    //声明一个一维的关联数组$contact
    $contact=array("ID"=>1,
    "姓名"=>"高某",
    "公司"=>"A公司",
    "地址"=>"北京市",
    "电话"=>"(010)987665432",
    "EMAIL"=>"gao@php.com"
    );
    //以HTML列表的方式输出数组中每个元素的信息
    echo '<dl>一个联系人信息:';
    while(list($key,$value) = each($contact) ){ //将foreach语句改写成while,list()和each()的组合
    echo "<dd>$key:$value</dd>"; //输出每个元素的键/值勤
    }
    echo '</dl>';
    ?>

 4、数组内部指针控制函数遍历数组

对于数组指针的控制PHP提供了以下几个内奸函数可以利用。

》》current():是取得目前指针位置的内容资料

》》key():用来读取目前指针所指向资料的索引值

》》next():将数组中的内部指针移动到下一个单无

》》prev():将数组的内部指针倒回一位

》》end():将数组的内部指针向最后一个元素

》》reset():将目前指针无条件移至第一个索引位置

这些函数的参数都只有一个,就是要操作的数组本身。在下面的示例中,将使用这些数组指针函数控制数组中元素的读取顺序。代码如下所示:

 

 代码如下

   <?php
    //声明一个一维的关联数组$contact,使用"=>"去处符指定了每个元素的字符串下标
    $contact = array("ID"=>1,
    "姓名"=>"高某",
    "公司"=>"A公司",
    "地址"=>"北京市",
    "电话"=>"(010)98765432",
    "EMAIL"=>"gao@php.com"
    );
    //数组刚声明时,数组指针在数组中第一个元素位置
    //使用key()和current()函数传入数组$contact,返回数组中当前元素的键和值
    echo '第一个元素:'.key($contact).'=>'.current($contact).'<br>'; //输出:第一个元素:ID=>1
    echo '第一个元素:'.key($contact).'=>'.current($contact).'<br>'; //数组指针没有移动,输出同上
    
    next($contact); //将数组$contact中的指针向一个元素移动一次,指向第二个元素的位置
    next($contact); //将数组$contact中的指针向一个元素移动一次,指向第三个元素的位置
    echo '第三个元素:'.key($contact).'=>'.current($contact).'<br>'; //输出第三个元素的键和值
    
    end($contact); //再将数组$contact中指针移动到最后,指向最后一个元素
    echo '最后一个元素:'.key($contact).'=>'.current($contact).'<br>'; //输出最后一个元素的键和值
    
    prev($contact); //将数组$contact中的指针倒回一位,指向最后第二个元素
    echo '最后第二个元素:'.key($contact).'=>'.current($contact).'<br>'; //输出最后第二个元素的键和值
    
    reset($contact); //再将数组$contact中的指针重置到第一个元素的位置,指向第一个元素
    echo '又回到了第一个元素'.key($contact).'=>'.current($contact).'<br>'; //输出第一个元素的键和值
    ?>

数据排序

•sort() 函数用于对数组单元从低到高进行排序。
•rsort() 函数用于对数组单元从高到低进行排序。
•asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
•arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
•ksort() 函数用于对数组单元按照键名从低到高进行排序。
•krsort() 函数用于对数组单元按照键名从高到低进行排序。

例子:

 代码如下

<?php
$arr = array("b", "a", "c");
sort($arr);
print_r($arr);
?>

运行该例子输出:

Array ( [0] => a [1] => b [2] => c )
在本例中, $arr 数组单元被按照字母顺序排序,而数组单元经过排序后,键值重新分配。

rsort()
PHP rsort() 函数行为与 sort() 相反,对数组单元进行由高到低排序,请参考 sort() 函数使用。

asort()
PHP asort() 函数用于对数组单元从低到高进行排序并保持索引关系,如果成功则返回 TRUE,失败则返回 FALSE。

语法:

bool asort( array &array [, int sort_flags] )
可选参数 sort_flags 用以改变排序的行为,具体参见 sort()。

例子:

 代码如下

<?php
$arr = array("b", "a", "c");
asort($arr);
print_r($arr);
?>

运行该例子输出:

Array ( [1] => a [0] => b [2] => c )

注:本文内容参考于《细说PHP》中的数组部分,仅作学习之余的个人笔记。

本文由金沙贵宾会官网发布于网络安全,转载请注明出处:PHP中使用数组指针函数操作数组示例,数组的声

关键词:

php跨域调用json的例子,php利用json数据实现跨域操

:某网站后台用php脚本得到一个JSON格式的数据,交给前台javascript进行处理,使用JSON实现数据的跨域调用 后台profil...

详细>>

php打印输出棋盘的实现方法,php入门学习知识点

php教程 打印乘法口绝表代码 刚才php是经常老师会要我们做这个的题目,今天我再做一次打印乘法口绝 复制代码 代码...

详细>>

php面向对象的封装性说明,php面向对象全攻略

?php教程 /*  * 封装性:面向对象三大特性之一  *  *1.就是把对象的成员(属性,方法)结合成一个独立的相同单位,并尽...

详细>>

php页面缓存方法小结,PHP页面缓存实现的方法总

} } ob_start():页面缓存开始的标志,此函数一下的内容直至ob_end_flush()或者ob_end_clean()都保存在页面缓存中; ob_get_co...

详细>>