php数组入门教程与数据相关操作函数

 更新时间:2016年11月25日 15:09  点击:1879

array()可以声明一个空数组;
array[] = $value 在数组存在时,追加一个数据;在数组不存时,生成一个数组,并追加数据。
array[$index] = $value 在数组存在时,追加或修改一个数据;在数组不存时,生成一个数组,并追加数据

range($n, $m); 指定值的范围。如range(2,4)生成数组 array(2,3,4)。
count($array); 取得数组的大小。
array_pad($array, $length, $value); 返回一个长度$length的数组,原不足数组补值为$value,长度足够返回原数组。

 

 代码如下 复制代码
// 声明数组
$test01 = array();
// 追加数据
$test01[] = "a";        // array(0 => "a");
// 追加一个索引为"a",数据为"b"的数据
$test01["a"] = "b";       // array(0 => "a", "a" => "b");
// 修改索引为0的数据
$test01[0] = "c";       // array(0 => "c", "a" => "b");
// 另一种声明方法
$test02 = array("a", "b", "c");         // array(0 => "a", 1 => "b", 2 => "c");
// 虽然声明了一个字符串索引的数据,但默认索引还是从0开始
$test03 = array("a" => "a", "b", "c");  // array("a" => "a", 0 => "b", 1 => "c");
// 声明中最大的索引为2,虽然最近是索引是0,但默认索引还是从3开始
$test04 = array(2 => "a", 0=>"b", "c");  // array(2 => "a", 0 => "b", 3 => "c");
// 声明一个小数索引会取其整数部分;指定索引时,会修改之前声明的值
$test05 = array("a", 2.7=>"b", 0=>"c");  // array(0 => "c", 2 => "b");
// 虽然声明了负数索引,但默认索引还是从0开始
$test06 = array(-2 =>"a", "b", "c");  // array(-2 => "a", 1 => "b", 2 => "c");
// 多维数组的定义


$test07 = array($test01, $test02, $test03);
php的数组,说白了,就是关联数据每一条数组都是以[索引,值]的形式保存的。其中索引默认是以0开始的数字。在未指定索引时,php会从0开始自动生成索引。当指定一个索引,php会从你指定索引最大正整数的下一个整数开始。如果你指定的是小数,php会取整数部分做为索引。

continue
continue 在循环结构用用来跳过本次循环中剩余的代码并开始执行下一次循环。

注: 注意在 php教程 中 switch 语句被认为是作为 continue 目的的循环结构。

continue 接受一个可选的数字参数来决定跳过几重循环到循环结尾。

 

<?php
while (list($key,$value) = each($arr)) {
if ($key == "zhoz"){ // 如果查询到对象的值等于zhoz,这条记录就不会显示出来了。
continue;
}
do_something ($value);
}
//  例子2
foreach ($list as $temp) {
if ($temp->value == "zhoz") {
continue; // 如果查询到对象的值等于zhoz,这条记录就不会显示出来了。
}
do_list; // 这里显示数组中的记录
}
?>

break
break 结束当前 for,foreach,while,do..while 或者 switch 结构的执行。

break 可以接受一个可选的数字参数来决定跳出几重循环。

<?php
$arr = array ('one', 'two', 'three', 'four', 'stop', 'five');
while (list (, $val) = each ($arr)) {
   if ($val == 'stop') {
       break;    /* you could also write 'break 1;' here. */
   }
   echo "$val<br>n";
}

/* using the optional argument. */

$i = 0;
while (++$i) {
   switch ($i) {
   case 5:
       echo "at 5<br>n";
       break 1;  /* exit only the switch. */
   case 10:
       echo "at 10; quitting<br>n";
       break 2;  /* exit the switch and the while. */
   default:
       break;
   }
}
?>

实例二

 

<?php
$i = 0;
while ($i < 7) {
if ($arr[$i] == "stop") {
break;
}
$i++;
}
?>

1、使用post方法提交表单
    使用方法:把<from>表单中的method标签属性改为“post”
    特点:post方法不依赖于url,不会再地址栏显示。post方法可以没有限制地传递数据到服务器,所有提交的信息在后台传输,用户在浏览器端是看不到这一过程的,安全性高。
    用于:适用于发送一些保密的或者容量较大的数据到服务器。
    实例: 

<form name=”from1′ method=”get” action=”index.php教程”>
订单号:<input type=”text” name=”user” size=”20′>
<input type=”submit” name=”submit” value=”提交”>
</form>


显示结果:
 
post提交不在url上显示提交表单的值 

 

 2、使用get方法提交表单
$_get 变量是一个数组,内容是由 http get 方法发送的变量名称和值。

$_get 变量用于收集来自 method="get" 的表单中的值。从带有 get 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。


    使用方法:把<from>表单中的method标签属性改为“get”
    特点:使用get方法提交表单数据将附加到url上,并作为url的一部分发送到服务器,在url上会显示传递数据的内容

    形式:http://url?name1=value1&name2=value2…
    url:为表单响应地址
    name1:为表单元素名称
    value1:为name1表单的值
    $:多个表单元素间的分隔符
    实例:

 

<form name=”from1′ method=”get” action=”index.php”>
用户名:<input type=”text” name=”user” size=”20′>
密码:<input name=”pwd” type=”password” size=”20′ >
<input type=”submit” name=”submit” value=”提交”>
</form>
输出结果:
 


 
使用get方式提交表单数据  


     从上面两点中我们能了解到两种提交方式有着两种截然不同的数据传输模式,使用post提交表单中的数据,数据信息完全在后台传输,不会显示在浏览器的url信息中。而get提交表单中的数据,则会在url中显示传递数据的值。今天对于这两种数据提交方法就介绍到这里


注释:http get 方法不适合大型的变量值;值是不能超过 100 个字符的。
$_request 变量
php 的 $_request 变量包含了 $_get, $_post 以及 $_cookie 的内容。

php 的 $_request 变量可用来取得通过 get 和 post 方法发送的表单数据的结果。

例子
welcome <?php echo $_request["name"]; ?>.<br />
you are <?php echo $_request["age"]; ?> years old!

    复选框能够进行项目的多项选择,浏览者在填写一些表单时,有时需要选择多个项目(如:兴趣爱好等)
    复选框一般是多个同时存在,为了便于传值,name的名字可以定义为数组形式:<input type=”checkbox” name=”chkbox[]” value=”chkbox1′>
    在返回页面中可以用count()函数计算数组的大小,结合for循环语句输出选择的复选框的值

<?php教程
  if(($_post[mrbook]!= null)){
   echo “您选择的结果是:”;
   for($i = 0;$i<count($_post[mrbook]);$i++)
    echo $_post[mrbook][$i].”&nbsp;&nbsp;”;  //循环输出用户选择的图书类别
  }
?>


<form name=”form1′ method=”post” action=”index.php”>
<table width=”445′ cellpadding=”0′ cellspacing=”0′>
  <tr>
    <td width=”443′ height=”41′ align=”center” valign=”top”>
     您喜欢的图书类型:
       <input type=”checkbox” name=”mrbook[]” value=”入门类”>
     入门类
     <input type=”checkbox” name=”mrbook[]” value=”案例类”>
        案例类
        <input type=”checkbox” name=”mrbook[]” value=”讲解类”>
        讲解类
        <input type=”checkbox” name=”mrbook[]” value=”典型实例类”>
      典型实例类
      <br>
      <input type=”submit” name=”submit” value=”提交”></td>
  </tr>
</table>
</form>

获取文本框、密码域、隐藏域、按钮、文本域的值
    获取文本框、密码域、隐藏域、按钮、文本域的值的方法都是相同的,都是使用name属性来获取想用的value值。所以在定义name值时尽量不要重复,以免获取错误的值。
    下面我们通过一个实例来说明用$_post[]获取获取文本框、密码域、隐藏域、按钮、文本域的值的具体方法:

实例代码:

<?php
if($_post["submit"]==”登陆”){     //判断是否提交信息
 echo”您输入的密码为:”.$_post[user].”<br>密码为:”.$_post[pw];   //输入提交数据
}
?>

  <form action=”index.php” method=”post” name=”zero”>   //建立form表单
  用户名:<input type=”text” name=”user” size=”20′/><br>
  密码:<input type=”password” name=”pw” size=”20′/><br>
  <input type=”submit” name=”submit” value=”登陆”/>
</form>
显示结果:
您输入的密码为:zero
密码为:123456

用户名:
 密码:
 

    二、获取单选框按钮的值
    radio单选框按钮一般是成组出现的,具有相同name值和不同的value值,在一组单选按钮中同一时间只能选中一个值。
    下面通过具体的实例来解释如何获取单选框的值

实例代码:

<?php
if($_post["submit"]==”提交”){   //判断是否提交数据
 echo”您的性别是:”.$_post["sex"];
}
?>
 <form action=”index.php” method=”post” name=”zero”>
性别:
<input type=”radio” name=”sex” value=”男” checked />男
<input type=”radio” name=”sex” value=”女”/>女
<input type=”submit” name=”submit” value=”提交”/>
</form>


输出结果:
您的性别是:男

cookie介绍

 

cookie是document的属性。某些网站为了辨别用户身份而储存在用户本地终端的数据(用户硬盘上的一个字符串) 。定义 于 rfc2019.

  


cookie的由来


 

cookie 最初的设计是为服务器端程序设计,所以服务器端的脚本可以读写客户端的cookie值。写入cookie有两种方式,服务器端写入cookie、客户端写入cookie.

 

这时候,我们可以在服务器和客户端都可以访问他的值。


 

cookie的属性:expires、path、secure。

 

expires: 指定了cookie的生存期。

默认情况下,cookie是暂时存在的,他们存储的值只在浏览器会话期间存在,退出浏览器后,这些值也就消失。

如果让一个cookie的存在超过会话期,就需要设置expires为未来的一个日期,浏览器会把cookie保存到本地文件中,一旦超过了终止日期,浏览器
自动的从cookie文件中删除掉cookie.  (不同的浏览器的cookie文件夹是不同的)。

 

path:

默认情况下,cookie会和创建它的网页以及与这个网页处于同一个目录下的网页  和处于该目录的子目录下的网页关联


secure :  指定如何传输cookie,   是http(不安全)   还是 https教程 或其他安全协议 连接时才被传输。

 

 

cookie的存储和访问:

 

通常情况下使用:

     document.cookie = 'version=' + encodeuricomponent(保存的值);

     cookie值不允许使用分号、逗号、空白符。所以通常使用 encodeuricomponent,  当你读取的时候不要忘记 decodeuricomponent()解码;

 

cookie的读取:

     他是一个name=value的列表。之间使用分号隔开。可以使用  string.indexof() 或者 string.substring() 或者 string.split()  将字符传分割成单独的cookie.

 

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • php数组操作 键名比较 差集 交集赋值

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • C#二维数组基本用法实例

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php curl模拟post请求和提交多维数组的示例代码

    下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <&#63;php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C#实现字符串转换成字节数组的简单实现方法

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • Lua语言新手简单入门教程

    这篇文章主要给大家介绍的是关于Lua语言新手入门的简单教程,文中通过示例代码一步步介绍的非常详细,对各位新手们的入门提供了一个很方便的教程,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。...2020-06-30
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C# 拷贝数组的几种方法(总结)

    下面小编就为大家带来一篇C# 拷贝数组的几种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25