如何在PHP中使用数组


Posted in PHP onJune 09, 2020

1、PHP如何获取数组里元素的个数实例

在 PHP 中,使用 count()函数对数组中的元素个数进行统计。

例如,使用 count()函数统计数组元素的个数,示例代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr = array("php","thinkphp","laravel");
echo count($arr);

输出结果为:

3

下面的一个实例将课程数据存放在数组中,使用 count()函数递归地统计数组中数量并输出,具体代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
$arr = array(
 "php"=>array("php","thinkphp","laravel"),
 "js"=>array("vue","react")
);
echo count($arr,true);

输出结果为:

7

注意:在统计二维数组时,如果直接使用 count()函数只会显示到一维数组的个数,所以使用递归的当时来统计二维数组的个数!

2、PHP怎么查询数组中的指定元素

array_search()函数在数组中搜索给定的值,找到后返回键值,否则返回 false 。在 PHP 4.2.0之前,函数在失败时返回 null 而不是 false。

下面实例综合应用数组函数,实现更新数组中的元素的值,具体示例代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");

$names = "手表1@手表2@手表3@手表4";
$prices = "111@222@333@444";
$counts = "1@3@5@2";
$arrname = explode("@",$names); //['手表1','手表2','手表3','手表4']
$arrprice = explode("@",$prices); //['111','222','333','444']
$arrcount = explode("@",$counts); //['1','3','5','2']

if($_POST){
 $name = $_POST['name'];
 $count = $_POST['count'];
 $key= array_search($name, $arrname); //获取要更改的数据的键名
 $arrcount[$key] = $count; 
}

?>

<table width="500" birder="1" cellpadding="1" bordercolor="#fff" bgcolor="#c17e50">
 <tr>
  <td width="145" align="center" bgcolor="#fff">商品名</td>
  <td width="145" align="center" bgcolor="#fff">单价</td>
  <td width="145" align="center" bgcolor="#fff">数量</td>
  <td width="145" align="center" bgcolor="#fff">总价</td>
 </tr>
 <?php
 $sum = 0;
 for($i=0;$i<count($arrname);$i++){  
 ?>
 <form action="#" method="post" name="form-<?php echo $i; ?>">
  <tr>
   <td width="145" align="center" bgcolor="#fff"><?php echo $arrname[$i]; ?></td>
   <td width="145" align="center" bgcolor="#fff"><?php echo $arrprice[$i]; ?></td>
   <td width="145" align="center" bgcolor="#fff">
    <input type="text" name="count" id="count" value="<?php echo $arrcount[$i]; ?>" size="4">
    <input type="hidden" name="name" id="name" value="<?php echo $arrname[$i]; ?>">
    <input type="submit" type="submit" value="更改">
   </td>
   <td width="145" align="center" bgcolor="#fff"><?php echo $arrprice[$i]*$arrcount[$i]; ?></td>
  </tr>
 </form>
 <?php
 $sum += $arrprice[$i]*$arrcount[$i];;
 }
 ?>
 <tr>
  <td>订单共计:</td>
  <td colspan="3"><?php echo $sum; ?></td>
 </tr>

</table>

如何在PHP中使用数组

说明:array_search()函数最常见的应用是购物车,实现对购物车中指定商品数量的修改和删除!

3、PHP一维数组与二维数组相互转换的示例

一维数组转换二维数组的示例代码:

<?php
header("Content-Type:text/html;charset=utf-8");

$arr[1] = array("a1","a2");
$arr[2] = array("b1","b2");

$newarr = array();
foreach($arr as $a){
 $newarr[] = $a;
}
print_r($newarr);

输出的结果为:

如何在PHP中使用数组

二维数组转为一维数组的方法:

<?php
header("Content-Type:text/html;charset=utf-8");

$arr = array(
 array(
  'id'=>1,
  'name'=>'cyy1'
 ),
 array(
  'id'=>2,
  'name'=>'cyy2'
 )
);

$ids = array_column($arr,'id');
$names = array_column($arr,'name');
print_r($names);

结果为:

如何在PHP中使用数组

注意:array_column();可以有第三个参数,如 $n = array_column($arr, 'name', 'id');

<?php
header("Content-Type:text/html;charset=utf-8");

$arr = array(
 array(
  'id'=>1,
  'name'=>'cyy1'
 ),
 array(
  'id'=>2,
  'name'=>'cyy2'
 )
);

$names = array_column($arr,'name','id');
print_r($names);

结果为:

如何在PHP中使用数组

4、php中数组怎么循环输出?遍历数组的方法介绍

第一种:使用 foreach 结构遍历数组

<?php
header("Content-Type:text/html;charset=utf-8");

$arr = array(
 'course1'=>'php',
 'course2'=>'thinkphp',
 'course3'=>'laravel',
);

foreach($arr as $k=>$v){
 echo $v.'<br/>';
}

遍历结果为:

php

thinkphp

laravel

第二种:list()函数遍历数组

list()函数仅能用于数字索引且索引从 0 开始的数组

下面将通过具体实例讲解 list()函数和 each()函数的综合应用,获取储存在组数中的用户登录信息。

具体开发步骤如下:

1.利用开发工具,新建一个PHP 动态页,保存为index.php。

2.应用 HTML 标记设计页面。首先创建用户登录表单,用于实现用户登录信息的录入,然后使用 each()函数提取全局数组$_POST中的内容,最后使用 white 语句循环输出用户所提交的注重信息。

示例代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>index</title>
</head>
<body>
 <form name="form1" method="post">
  <table width="323" border="1" cellpadding="1" cellspacing="1" bordercolor="#66cc33" bgcolor="#fff">
   <tr>
    <td width="118" height="24" bgcolor="#ccff33">用户名</td>
    <td width="192" height="24" bgcolor="#ccff33">
     <input type="text" name="username" id="username" size="24">
    </td>
   </tr>
   <tr>
    <td height="24" bgcolor="#ccff33">密  码</td>
    <td height="24" bgcolor="#ccff33">
     <input type="password" name="pwd" id="pwd" size="24">
    </td>
   </tr>
   <tr>
    <td height="24" colspan="2">
     <input type="submit" name="submit" value="登录">
    </td>
   </tr>
  </table>
 </form>
</body>
</html>

<?php

while(list($name,$value)=each($_POST)){
 if($name!="submit"){
  echo "$name=$value<br/>";
 }
}

运行结果如下图所示:

如何在PHP中使用数组

说明:

each()函数用于返回当前指针位置的数组值,同时将指针推进到下一个位置。返回的数组包含4个键,键 0 和 key 包含键名,而键 1 和 value 包含相应的数据。如果程序在执行 each()函数时指针已经位于数组末尾,则返回 false。

5、PHP数组与字符串相互转换

1.使用 explode()函数将字符串转换成数组

<?php
header("Content-Type:text/html;charset=utf-8");

$str = "i am learning php";
$arr = explode(" ", $str);
print_r($arr);

输出结果为:

如何在PHP中使用数组

在开发一个投票管理系统时,经常需要在后台添加投票选项到投票系统,以作为投票的内容。下面使用 explode()函数对添加的投票选项通过“*”进行区分,然后使用 white 循环语句分别再也面中输出添加的投票选项。

具体开发步骤如下:

(1)利用开发工具,新建一个 PHP 动态页,保存为index.php。

(2)使用 HTML 标记设计面,首先建立投票表单,用于实现添加投票选项,然后使用 each()函数提取全局数组$_POST 中的内容,并最终使用 while 循环输出投票选项内容。代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>index</title>
</head>
<body>
 <form action="#" name="form1" method="post">
  <table width="400" border="1" cellpadding="0" cellspacing="1" bordercolor="#ff9900" bgcolor="#ccff66">
   <tr>
    <td width="98" height="120">添加投票选项</td>
    <td width="223" height="120">
     <p>
      <textarea name="content" id="content" cols="30" rows="5"></textarea><br>
      <span>注意:每个选项用*分开</span>
     </p>
    </td>
    <td width="61" height="120">
     <input type="submit" name="submit" value="提交">
    </td>
   </tr>
  </table>
 </form>
</body>
</html>

<?php
if($_POST['submit'] != ''){
 $content = $_POST['content'];
 $data = explode("*",$content);
 while(list($name,$value) = each($data)){
  echo '<input type="checkbox" name="checkbox" value="checkbox">';
  echo $value."\n";
 }
}

运行结果如下

如何在PHP中使用数组

2.使用 implode()函数将数组转换成一个字符串

<?php
$arr = array(1,2,3,4);
$str = implode($arr);
echo $str;

输出结果为:

1234

6、PHP输出数组-打印数组实例详解

一般使用print_r来打印数组(当然用var_dump也可以,但是结构上不清晰)

<?php
$arr = array(1,2,3,4);
print_r($arr);

如何在PHP中使用数组

当第二个参数为true时,print_r不会直接打印数组,而是将打印的内容作为字符串返回

<?php
$arr = array(1,2,3,4);
echo print_r($arr,true);

如何在PHP中使用数组

以上就是如何在PHP中使用数组的详细内容,更多关于PHP使用数组的资料请关注三水点靠木其它相关文章!

PHP 相关文章推荐
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
详解php的魔术方法__get()和__set()使用介绍
Sep 19 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
php防止表单重复提交实例讲解
Feb 11 PHP
PHP MVC框架中类的自动加载机制实例分析
Sep 18 PHP
php面向对象重点知识分享
Sep 27 PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 PHP
详解PHP中curl_multi并发的实现
Jun 08 #PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 #PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 #PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
Jun 06 #PHP
CI框架简单分页类用法示例
Jun 06 #PHP
简单的php购物车代码
Jun 05 #PHP
实例化php类时传参的方法分析
Jun 05 #PHP
You might like
PHP连接SQLServer2005 的问题解决方法
2010/07/19 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
python生成二维码的实例详解
2017/10/29 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
Python File(文件) 方法整理
2019/02/18 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
python如何使用代码运行助手
2020/07/03 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
JAVA程序员自荐书
2014/01/30 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
JS中如何优雅的使用async await详解
2021/10/05 Javascript