php数组

Posted 23滴雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php数组相关的知识,希望对你有一定的参考价值。

      php中存在两种数组,一种为索引,一种为关联。

      定义一个数组:

            $arr = array();,这样为定义一个空数组,如果在()内写上内容则表示该数组定义了内容;

            echo $arr[0];:表示输出第一个数据;

      关联数组:

            $arr = array("code" = >"p001","name" = >"张三");

            echo $arr["name"];,即可输出张三;

      赋值定义:$arr[0] = "张三"; $arr[1] = "李四";,这样同样可以定义一个数组;

      遍历数组:

            首先先定义一个数组:

$arr = array("p001","张三",1,"n001","1988-2-3");

            1.for循环:

for($i=0;$i<count($arr);$i++){
    echo "{$arr[$i]}<br>";  //或写成echo $arr[$i]."<br>";
    }

            2.foreach遍历:

                  方法一:取值,每循环一次,将一个元素交给变量;

foreach($arr as $v){
    echo "{$v}<br>";
    }

                   方法二:取索引,加值;

foreach($arr as $v){
    echo"{$k}-{$v}<br>";
    }

                   区别:for循环只能遍历索引数组,如果是关联数组,需要使用foreach遍历;

            3.list()和each()函数配合遍历数组:

$a1 = each($arr);  //执行1次去第一个,执行2次取第二个,直到没有元素为止,取出数组当前指针指向元素的内容,交给一个小数组
list($a,$b)=$arr;  //将数组内的元素赋值给一组变量
var_dump($a);
while(list($k,$v)=each($arr)){
  echo"{$k}-{$v}<br>"
}

            4.指针遍历

                  key($arr);:取当前指针指向元素的索引;

                  current($arr);:取当前指针指向元素的值;

                  next();:将指针往下调一个;

                  prev($arr);:将指针往上调一个;

                  end($arr);:将指针指向最后一个;

                  reset($arr);:将指针位置重置,指向第一个;

do{
    echo key($arr);
    echo current($arr);    //会先执行再判断
}
while(next($arr))

      一维数组:一个数组包含有元素;

      二维数组:一个数组里面包含的元素也是一个数组

$arr = array(
    array(1,2,3),
    array(4,5,6),
    array(7,8,9)
);
echo $arr[1][1]  //先从外层数组取值,再从里面一层数组取值。
//输出5

            以上便是一个二维数组。

      遍历这个二维数组:

            方法一:

foreach($arr as$v){
    echo"{$v[0]}-{$v[1]}-{$v[2]}<br>";
    }

            方法二:

foreach($arr as$v){
    foreach($v as $v1){
        echo "{$v1}<br>";
        }
    }

      例1:制作民族下拉列表:

$arr = array(
  array("n001","汉族"),
  array("n002","回族"),
  array("n003","满族"),
  array("n004","藏族"),
);
echo"<select>";
foreach($arr as $v){
    echo"<option value=‘{$v[0]}‘>{$v[1]}</option>";
    };
echo"</select>"

      例2:制作一个info表的二维数组,用表格显示

info = array(
  array("001","张三","1973-2-8"),
  array("002","李四","1982-10-29"),
  array("003","王五","1953-7-11"),
);
echo"<table>";
foreach($info as $i){
    echo"
    <tr>
    <td>$i[0]</td>
    <td>$i[1]</td>
    <td>$i[2]</td>
    </tr>
    ";
    };
echo"</table>";

 

      预定义数组:

            _GET:html中使用get方式传递的数据;

            _POST:HTML中使用post方式传递的数据;

            _REQUEST:以上两种方式的数据都可以获取;

            _FILES:获取上传文件的数据;

            _SESSION和_COOKIE:记录用户登录信息(状态保持作用);

      其他常用函数:

            in_array():检查数组中是否存在某值,存在返回true,不存在返回false;

            array_reverse():将数组中的元素顺序翻转,创建新的数组并返回;

            count():计算数组中的元素数目或对象中的属性个数;

            array_unique():删除数组中重复的值并返回新的数组;

            unset($arr[0]):删除数组的某个值;

            array_values($arr):重新索引;

            array_merge():合并数组;

            array_push():在数组尾添加元素。



以上是关于php数组的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

PHP代码-psysh调试代码片段工具

超实用的php代码片段

比较有用的php代码片段

不确定分配时 PHP 数组在做啥