PHP中数组及相关函数(一)

本部分分三个模块记录PHP中数组的相关知识,第一个为数组的基础知识,第二个第三个为数组中强大的函数的相关介绍。

PHP中的数组功能十分强大,这得益于,PHP中预设的很多的关于数组的函数,在PHP中,将数组的功能进行扩展到数据结构,但是还是要从数组的创建和遍历着手

由于PHP是弱数据类型的编程语言,所以PHP中的数组变量可以存储任意多个,任意类型的数据

  • 数组的分类

PHP中根据下标的不同将数组分为索引数组和关联数组

  • 数组的定义

详情见代码中的注释内容

//通过直接赋值的方式声明数组
$contact[0]="45";
$contact[1]="5";
$contact[2]="55";
$contact[3]="9";
$contact[4]="89";
/*
当然索引也可以为空,即$contact[]="44";这样就会自动默认下标,如果是空和关联索引混合的话
那么就是在能默认的时候对上一个有数字的下标自动加1。
*/


//使用array()语言结构新建数组
$contact=array("id"=>"646","姓名"=>"小叶");
//也可以是:
$contact=array("646","小叶");


//多维数组的声明
$contact=array{
"北京"=array("");
"上海"=array("");
}
或者是:
$contact=array{
array("");
array("");
}
  • 列表内容

数组的遍历

使用for语句循环遍历数组,其中可用count()函数获得数组的长度

使用foreach语句遍历数组
注意:foreach只能用于数组

<?php
header("Content-Type: text/html; charset=gb2312");
$contact = array(
    11,
    14 => "夏某",
    "a公司",
    "北京市",
    14 => "0214545",
    "xielebin@1563.com"
);
$num = 0;
/* foreach ($contact as $value) {
    echo "在数组\$contact中第  $num 元素是:$value</br>";
    $num++;
} */

foreach ($contact as $key=>$value) {
    //使用这种方法可以获得数组中的键值,和键所对应的实际的值
    echo "在数组\$contact中第  $key 元素是:$value</br>";
//     $num++;
}

?>

联合使用list(),each(),whlie循环遍历数组

关于each():

<?php header("Content-Type: text/html; charset=gb2312"); $contact = array( 11, 14 => "夏某", "a公司", "北京市", 14 => "0214545", "xielebin@1563.com" ); $id=each($contact); print_r($id); //输出结果为: //Array ( [1] => 11 [value] => 11 [0] => 0 [key] => 0 ) /** * each返回的下标1,value,0,key是固定的,前面两个的值是数组的值,后面两个是数组的索引 * each返回第一个元素之后,会自动跳到下一个元素,直到内部指针越过了数组的末端,则each()返回FALSE * @var array $name */ $name=each($contact); print_r($name); //Array ( [1] => 0214545 [value] => 0214545 [0] => 14 [key] => 14 ) ?>

关于list():

<?php
header("Content-Type: text/html; charset=gb2312");
/*
 * $info=array('coffee','brown','caffeine');
 * list($drink,$color,$power)=$info;
 * echo "$drink $color $power";
 * list($drink,,$power)=$info;
 * echo "</br>";
 * echo "$drink $power";
 */

/**
 * 通过上面的例子可以知道,list的作用是用一步操作给一组变量进行赋值,即把数组中的值赋给一些变量
 * list仅能用于数组索引的数组并假定数字索引从0开始。
 */
$contact = array(
    "id" => 1,
    "姓名" => "夏某",
    "公司" => "A公司",
    "地址" => "合肥"
);

// list($key,$value)=each($contact);
// echo "$key=>$value";
//输出结果为:
//id=>1

//使用while和list的配对数组实现遍历

/* while (list($key,$value)=each($contact)){
    echo "$key=>$value";
    echo "</br>";
}
 */

//数组刚声明时,数组指针在数组中第一个元素位置
echo '第一个元素为:'.key(($contact)).'=>'.current($contact).'</br>';
//其中的点号相当于Java中的用于连接字符串的+号
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>';

/**
 * 上面用到的是数组的内部指针控制控制函数遍历数组
 * 有如下几个内建函数可以利用:
 * current():取得目前指针位置的内容资料
 * key():用来 读取目前指针所指向资料的索引值
 * next():将数组中的内部指针移动到下一个单元
 * prev():将数组中的内部指针倒回一位
 * end():将数组中的内部指针指向最后一个元素
 * reset():将目前指针无条件移至第一个索引位置
 */

//输出结果为:
/**
 * 第一个元素为:id=>1
 第一个元素为:id=>1
第三个元素为:公司=>A公司
最后一个元素为:地址=>合肥
倒数第二个元素为:公司=>A公司
又回到了第一个元素,第一个元素为:id=>1
 *
 */

echo "</br></br>";
foreach ($_SERVER as $key=>$value){
    echo '$_SERVER['.$key.']='.$value.'</br>';
}

?>

关于数组中的内部指针控制函数遍历数组的相关内容见上面代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值