php遍历二维数组 foreach函数

 更新时间:2016年11月25日 15:10  点击:2106
文章收藏了三款php教程遍历二维数组,在这里我们只讲利用了 foreach函数来遍历二维数组的方法,好了下面来看看吧。
 代码如下 复制代码
<?php
 $team = array('lk','ok');
 $book = array('linux服务器配置与管理',$team);
 
 foreach($book as $k=>$val)  //意思是for  $book  each  $value( as )
  if( is_array($val) ) foreach( $val as $value) echo $value.'<br />';
  else echo $k.'=>'.$val.'<br />';
?>


 
则输出为:
0=>linux服务器配置与管理
lk
ok


方法二

 代码如下 复制代码

$arr=array();
foreach ($row_mark as $arr)
{
print_r("<tr>");
foreach ($arr as $k=>$v)
{
print_r("<td width='80'>".$v."</td>");
}
print_r("</tr>");
}


第三种情况

$arr = array(
  array('name'=>'www.111cn.net备布置','url'=>'?action=config&do=config'),
  array('name'=>'验证码配备布置','url'=>'?action=config&do=seccode'),
  array('name'=>'模板管理','url'=>'www.111cn.net?action=config&do=tpl'),
  array('name'=>'帐号管理','url'=>'?action=admin&do=list'),
  array('name'=>'新增帐号','url'=>'?action=admin&do=add'));
  foreach($arr as $k=>$val){
  echo "name:".$val["name"]."n";
  }

在php教程中要上传文件那简单的利用move_uploaded_file() 函数将上传的文件移动到新位置。若成功,则返回 true,否则返回 false。

语法
move_uploaded_file(file,newloc)参数 描述
file 必需。规定要移动的文件。
newloc 必需。规定文件的新位置

 代码如下 复制代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>php文件上传函数</title>
</head>

<body>

<form enctype="multipart/form-data" action="upload.php" method="post">
    <input type="hidden" name="max_file_size" value="30000" />
    <input name="userfile" type="file" />
    <input type="submit" value="send file" />
</form>
</body>
</html>

 代码如下 复制代码
<?
if( $_post )
{
 if( uploadfile( "userfile" ) )
 {
  echo '文件上传成功';
 }
 else
 {
  echo '文件上传失败';
 }
}
//参数   $file   为   前台file控件的name;
function     uploadfile($file)
{
    $uploaddir   =   $_server[ 'document_root ']. '/www.111cn.net/uploadfile/ ';
    $file_name   =   $uploaddir.rand(1,1000000). ". ".fileextend($_files[$file][ 'name ']);
    if   (move_uploaded_file($_files[$file][ 'tmp_name '],$file_name))  
    {
    return   true;
    }
    else
    {
        return   false;
    }
}
?>

提示和注释
注释:本函数仅用于通过 http post 上传的文件。

注意:如果目标文件已经存在,将会被覆盖。

 <?php教程
class opmysql教程{
private $host = 'localhost'; //服务器地址
private $name = 'root'; //登录账号
private $pwd = ''; //登录密码
private $dbase = 'a0606123620'; //数据库教程名称
private $conn = ''; //数据库链接资源
private $result = ''; //结果集
private $msg = ''; //返回结果
private $fields; //返回字段
private $fieldsnum = 0; //返回字段数
private $rowsnum = 0; //返回结果数
private $rowsrst = ''; //返回单条记录的字段数组
private $filesarray = array(); //返回字段数组
private $rowsarray = array(); //返回结果数组
private $idusername=array();
private $idsubtitle=array();
//初始化类
function __construct($host='',$name='',$pwd='',$dbase=''){
if($host != '')
$this->host = $host;
if($name != '')
$this->name = $name;
if($pwd != '')
$this->pwd = $pwd;
if($dbase != '')
$this->dbase = $dbase;
$this->init_conn();
}
//链接数据库
function init_conn(){
$this->conn=@mysql_connect($this->host,$this->name,$this->pwd);
@mysql_select_db($this->dbase,$this->conn);
mysql_query("set names utf8");
}
//查询结果
function mysql_query_rst($sql){
if($this->conn == ''){
$this->init_conn();
}
$this->result = @mysql_query($sql,$this->conn);
}

//取得查询结果字段数目
function getfieldsnum($sql){
$this->mysql_query_rst($sql);
$this->fieldsnum = @mysql_num_fields($this->result);
}
//取得查询结果行数目
function getrowsnum($sql){
$this->mysql_query_rst($sql);
if(mysql_errno() == 0){
return @mysql_num_rows($this->result);
}else{
return '';
}
}
//取得记录数组有索引(单条记录)
function getrowsrst($sql){
$this->mysql_query_rst($sql);
if(mysql_error() == 0){
$this->rowsrst = mysql_fetch_array($this->result,mysql_assoc);
return $this->rowsrst;
}else{
return '';
}
}
//取得记录数组有索引(多条记录)全部
function getrowsarray($sql){
$this->mysql_query_rst($sql);
if(mysql_errno() == 0){
while($row = mysql_fetch_array($this->result,mysql_assoc)) {
$this->rowsarray[] = $row;
}
return $this->rowsarray;
}else{
return '';
}
}
//更新、删除、添加记录数,返回影响到的行数
function uidrst($sql){
if($this->conn == ''){
$this->init_conn();
}
@mysql_query($sql);
$this->rowsnum = @mysql_affected_rows();
if(mysql_errno() == 0){
return $this->rowsnum;
}else{
return '';
}
}
//获取对应的字段值,一条数字索引,mysql_array_rows才是带字段索引
function getfields($sql,$fields){
$this->mysql_query_rst($sql);
if(mysql_errno() == 0){
if(mysql_num_rows($this->result) > 0){
$tmpfld = @mysql_fetch_row($this->result);
$this->fields = $tmpfld[$fields];

}
return $this->fields;
}else{
return '';
}
}

//错误信息
function msg_error(){
if(mysql_errno() != 0) {
$this->msg = mysql_error();
}
return $this->msg;
}
//释放结果集
function close_rst(){
mysql_free_result($this->result);
$this->msg = '';
$this->fieldsnum = 0;
$this->rowsnum = 0;
$this->filesarray = '';
$this->rowsarray = '';
$this->idsubtitle='';
$this->idusername='';
}
//关闭数据库
function close_conn(){
$this->close_rst();
mysql_close($this->conn);
$this->conn = '';
}
}
?>

实例方法

 

 代码如下 复制代码
<?php
$conne = new opmysql();
$conne-> getrowsarray($sql);
$conne-> close_conn();
$password=”123456一二三四五六”;
echo md5($password.”www.111cn.net”);//输出为32位的密文,是没有解密函数的,可以实现简单的加密功能。
?>


mysql数据库类型主要是: char(固定空间字符串,多大就是多少个中文字符)、varchar(可变空间字符串,多大就是初始化多少个中文字符)、int(整数多大就是多少位)、float(浮点数)、timestamp(日期,可选建立时自动创建,输出时就已经是格式化过的date)、text(文本)、bool(布尔型)

写sql语句时sum()可以统计值;order by 'id' desc limit 10,10等要活用。

在phpmyadmin学一下sql语句增删改查就行了。

本教程主要是讲一下关于日期、表单接收、session、cookie在php应用与使用方法,下面我们一一举例说明了关于php中这些入门教程也是基础要学的内容。

session

 

 代码如下 复制代码
<?php
session_start();//session在浏览器关闭后马上失效,需要这样声明才能读写session
$_session['id']='服务器';//这就是声明和初始化了,和数组用法一样
$_session['name']='会话';
print_r($_session);//会话注册成功输出一个数组
echo "<br>";
$_session['id']='还是服务器';//改变一个会话,再输出看看
unset($_session['name']);//注销一个会话,再输出看看
print_r($_session);
echo "<br>";
?>

会话支持允许用户注册任意数目的变量并保留给各个请求使用。当来客访问网站时,php 会自动(如果 session.auto_start 被设为 1)或在用户请求时(由 session_start() 明确调用或 session_register() 暗中调用)检查请求中是否发送了特定的会话 id。如果是,则之前保存的环境就被重建

page1.php

 代码如下 复制代码
session_start();
echo 'welcome to page #1';
/* 创建session变量并给session变量赋值 */
$_session['favcolor'] = 'green';
$_session['animal'] = 'cat';
$_session['time'] = time();


page2.php

 代码如下 复制代码
session_start();
print $_session['animal']; // 打印出单个session
var_dump($_session); // 打印出page1.php传过来的session值

 

get,

$_get 变量
$_get 变量是一个数组,内容是由 http get 方法发送的变量名称和值。

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

例子

 代码如下 复制代码
<form action="welcome.php" method="get">
name: <input type="text" name="name" />
age: <input type="text" name="age" />
<input type="submit" />


</form>当用户点击提交按钮时,发送的 url 会类似这样:

http://www.111cn.net/welcome.php?name=peter&age=37"welcome.php" 文件现在可以通过 $_get 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_get 数组中的 id 键):

 代码如下 复制代码
welcome <?php echo $_get["name"]; ?>.<br />
you are <?php echo $_get["age"]; ?> years old!

看个简单详细的实例

 代码如下 复制代码
<?php
echo $str=urlencode("第一页");//url变量编码,跟google一样
echo "<br>".urldecode($str);//url变量解码,我看到了
echo "<br><a href=index.php?page=".$str.">第一页</a>";
echo "<br>";
if($_get)echo "变量已接收:".$_get['page'];//$_get对应$_post,php是自动识别url编码并自动解码好的。
echo "<br>";
?>

cookie

php cookie 用法
$time = time() + 300;    //5分钟过期
$code = md5($string . $time . $salt);
setcookie('check_time', $time);
setcookie('code', $code);

//验证部分
$time = time();
if($check_time < $time)//如果服务器时间比验证时间大,算过期
    //expire过期
   
if(md5($string . $check_time . $salt) !== $code)
    //错误
其实这种方法相对好一点,因为过期不能提交了,但是过期之前还是可以无限提交的

看一cookie实例

 

 代码如下 复制代码
<?php
setcookie("id","客户端");//这就是声明和初始化cookie的函数。关闭浏览器即失效
setcookie("name","会话",time()+3600);//自此1小时后失效
print_r($_cookie);//会话注册成功输出一个数组,也可以用$http_cookie_vars访问
echo "<br>";
setcookie("id","还是客户端");//改变一个会话,再输出看看
unset($_cookie['name']);//注销一个会话,再输出看看,等价于setcookie("name","",time()-1);这是很多书上说的,其实用unset也能注销
print_r($_cookie);
echo "<br>";
?>

日期

 

 代码如下 复制代码
<?php
echo time();//返回一串以秒计算的时间数字戳
echo "<br>";
echo date("y-m-d h:i:s",time()+8*3600);//格式化时间,+8*3600变为中国时区时间
echo "<br>";
$str="2010-08-24 10:26:10";
echo date("y-m-d h:i:s",strtotime($str));//strtotime将字符串转为时间戳
echo "<br>";
?>

php教程 array 简介
array 函数允许您对数组进行操作。

php 支持单维和多维的数组。同时提供了用数据库教程查询结果来构造数组的函数。
安装
array 函数是 php 核心的组成部分。无需安装即可使用这些函数。
php array 函数
php:指示支持该函数的最早的 php 版本。

函数 描述 php
array() 创建数组。 3
array_change_key_case() 返回其键均为大写或小写的数组。 4
array_chunk() 把一个数组分割为新的数组块。 4
array_combine() 通过合并两个数组来创建一个新数组。 5
array_count_values() 用于统计数组中所有值出现的次数。 4
array_diff() 返回两个数组的差集数组。 4
array_diff_assoc() 比较键名和键值,并返回两个数组的差集数组。 4
array_diff_key() 比较键名,并返回两个数组的差集数组。 5
array_diff_uassoc() 通过用户提供的回调函数做索引检查来计算数组的差集。 5
array_diff_ukey() 用回调函数对键名比较计算数组的差集。 5
array_fill() 用给定的值填充数组。 4
array_filter() 用回调函数过滤数组中的元素。 4
array_flip() 交换数组中的键和值。 4
array_intersect() 计算数组的交集。 4
array_intersect_assoc() 比较键名和键值,并返回两个数组的交集数组。 4
array_intersect_key() 使用键名比较计算数组的交集。 5
array_intersect_uassoc() 带索引检查计算数组的交集,用回调函数比较索引。 5
array_intersect_ukey() 用回调函数比较键名来计算数组的交集。 5
array_key_exists() 检查给定的键名或索引是否存在于数组中。 4
array_keys() 返回数组中所有的键名。 4
array_map() 将回调函数作用到给定数组的单元上。 4
array_merge() 把一个或多个数组合并为一个数组。 4
array_merge_recursive() 递归地合并一个或多个数组。 4
array_multisort() 对多个数组或多维数组进行排序。 4
array_pad() 用值将数组填补到指定长度。 4
array_pop() 将数组最后一个单元弹出(出栈)。 4
array_product() 计算数组中所有值的乘积。 5
array_push() 将一个或多个单元(元素)压入数组的末尾(入栈)。 4
array_rand() 从数组中随机选出一个或多个元素,并返回。 4
array_reduce() 用回调函数迭代地将数组简化为单一的值。 4
array_reverse() 将原数组中的元素顺序翻转,创建新的数组并返回。 4
array_search() 在数组中搜索给定的值,如果成功则返回相应的键名。 4
array_shift() 删除数组中的第一个元素,并返回被删除元素的值。 4
array_slice() 在数组中根据条件取出一段值,并返回。 4
array_splice() 把数组中的一部分去掉并用其它值取代。 4
array_sum() 计算数组中所有值的和。 4
array_udiff() 用回调函数比较数据来计算数组的差集。 5
array_udiff_assoc() 带索引检查计算数组的差集,用回调函数比较数据。 5
array_udiff_uassoc() 带索引检查计算数组的差集,用回调函数比较数据和索引。 5
array_uintersect() 计算数组的交集,用回调函数比较数据。 5
array_uintersect_assoc() 带索引检查计算数组的交集,用回调函数比较数据。 5
array_uintersect_uassoc() 带索引检查计算数组的交集,用回调函数比较数据和索引。 5
array_unique() 删除数组中重复的值。 4
array_unshift() 在数组开头插入一个或多个元素。 4
array_values() 返回数组中所有的值。 4
array_walk() 对数组中的每个成员应用用户函数。 3
array_walk_recursive() 对数组中的每个成员递归地应用用户函数。 5
arsort() 对数组进行逆向排序并保持索引关系。 3
asort() 对数组进行排序并保持索引关系。 3
compact() 建立一个数组,包括变量名和它们的值。 4
count() 计算数组中的元素数目或对象中的属性个数。 3
current() 返回数组中的当前元素。 3
each() 返回数组中当前的键/值对并将数组指针向前移动一步。 3
end() 将数组的内部指针指向最后一个元素。 3
extract() 从数组中将变量导入到当前的符号表。 3
in_array() 检查数组中是否存在指定的值。 4
key() 从关联数组中取得键名。 3
krsort() 对数组按照键名逆向排序。 3
ksort() 对数组按照键名排序。 3
list() 把数组中的值赋给一些变量。 3
natcasesort() 用“自然排序”算法对数组进行不区分大小写字母的排序。 4
natsort() 用“自然排序”算法对数组排序。 4
next() 将数组中的内部指针向前移动一位。 3
pos() current() 的别名。 3
prev() 将数组的内部指针倒回一位。 3
range() 建立一个包含指定范围的元素的数组。 3
reset() 将数组的内部指针指向第一个元素。 3
rsort() 对数组逆向排序。 3
shuffle() 把数组中的元素按随机顺序重新排列。 3
sizeof() count() 的别名。 3
sort() 对数组排序。 3
uasort() 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联。 3
uksort() 使用用户自定义的比较函数对数组中的键名进行排序。 3
usort() 使用用户自定义的比较函数对数组中的值进行排序。 3
下面来看看关于数组操作


<?php
$arr=array('a'=>"你",'b'=>"我","他");
$arr[]="其他";
echo $arr['b']."<br>";
$arr['c']="";//给个空值,但仍然占着位置的
echo count($arr)."<br>";//数组有多少个值。
unset($arr['b']);//这函数可以注销字符串、整个数组等值类型和引用类型。
print_r($arr);//这函数打印数值、引用类型的整个内部结构。
echo "<br>";
foreach($arr as $key=>$value)
echo $key.":".$value."<br>";//循环输出整个数组的值。
?>

数组字符转换


<?php
$arr=array('a'=>"你",'b'=>"我","他");
echo $arr=implode('-',$arr);//数组转字符串,连接符-
echo "<br>";
print_r(explode('-',$arr,2));//字符串转数组。如果最后一个参数不用,表示全部'-'都分割成数组
?>

php数据排序


<?php
$arr=array('b'=>"你",'a'=>"我","他");
ksort($arr);//数组按键值的拼音(utf-8编码)排序,键值不会丢失。注意此排序不返回新数组而是直接把原来数组当引用传递。
print_r($arr);
echo "<br>";
asort($arr);//数组按值的拼音(utf-8编码)排序,键值不会丢失。如果不要键值,可以用函数sort();如果反序也有函数rsort()。注意此排序不返回新数组而是直接把原来数组当引用传递。
print_r($arr);
echo "<br>";
$arr=array(10000,100,1000);
natsort($arr);//按数字自然排序值,而natcasesort()不区分大小写
print_r($arr);
echo "<br>";
print_r(array_reverse($arr));//数组反序
echo "<br>";
?>

[!--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中的imread()函数用法说明

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

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

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C#二维数组基本用法实例

    这篇文章主要介绍了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
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • 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
  • 浅谈Java8 的foreach跳出循环break/return

    这篇文章主要介绍了Java8 的foreach跳出循环break/return,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-28
  • PHP 二维数组根据某个字段排序的具体实现

    本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 遇到这个...2014-06-07
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍

    下面小编就为大家带来一篇JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-05-20
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30