PHP实现判断数组是一维、二维或几维的方法

 更新时间:2017年7月6日 23:34  点击:2362
小编推荐的这篇文章介绍了PHP实现判断数组是一维、二维或几维的方法,非常实用,有兴趣的同学快来看看吧。

这里使用的自定义函数,可以判断数组是一维的,还是二维的,或是几维的数组:

 代码如下复制代码

functiongetmaxdim($vDim)

{

  if(!is_array($vDim))return0;

  else

  {

    $max1= 0;

    foreach($vDimas$item1)

    {

     $t1=$this->getmaxdim($item1);

     if($t1>$max1)$max1=$t1;

    }

    return$max1+ 1;

  }

}

验证过可以使用:

 代码如下复制代码

//测试:

$arr=array('yiyi'=>1212,'haha'=>array('heihei'=>array(array("a")),"b"));

echogetmaxdim($arr);

//结果: 4

本文用实例解析;额html静态页面调用php文件的方法,非常实用,初学php有不懂的同学快来看看这篇文章吧。

本文实例讲述了html静态页面调用php文件的方法。分享给大家供大家参考。具体方法如下:

静态页面中看上去好像是不能直接调用php文件的,但是却可以使用js调用方式来调用php文件,当然还可以使用ajax 调用php文件,下面就来给大家介绍一下:

举一个简单的例子来说明:
如在页面a.html中用下面这句调用,可以将action=test的参数传递到b.php。
Javascript代码

 代码如下复制代码



在b.php中有这样一段PHP代码:

<?php
$action=$_GET['action'];    
echo "document.write('".$action."');n";   
?>

当执行a.html文件时,就会调用b.php文件,并将b.php文件的输出作为JS语句来执行,内容为JS传递的参数action的值,也就是在PHP文件中接受过来的action的值.

jquery的load函数是请求另一个文件并加载到当前DOM里的调用

1、加载一个php文件,该php文件不含传递参数

$("#myID").load("test.php");

2、加载一个php文件,该php文件含有一个传递参数

$("#myID").load("test.php",{"name" : "Adam"});

3. 加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔

$("#myID").load("test.php",{"name" : "Adam" ,"site":www.jb51.net});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam&site=www.jb51.net

4. 加载一个php文件,该php文件以数组作为传递参数

$("#myID").load("test.php",{'myinfo[]', ["Adam", www.jb51.net});
//导入的php文件含有一个数组传递参数。

本文详细介绍了php注释规范,不会写php注释的同学可以参考一下,非常实用

@access 
使用范围:class,function,var,define,module 
该标记用于指明关键字的存取权限:private、public或proteced 
@author 
指明作者 
@copyright 
使用范围:class,function,var,define,module,use 
指明版权信息 
@deprecated 
使用范围:class,function,var,define,module,constent,global,include 
指明不用或者废弃的关键字 
@example 
该标记用于解析一段文件内容,并将他们高亮显示。Phpdoc会试图从该标记给的文件路径中读取文件内容 
@const 
使用范围:define 
用来指明php中define的常量 
@final 
使用范围:class,function,var 
指明关键字是一个最终的类、方法、属性,禁止派生、修改。 
@filesource 
和example类似,只不过该标记将直接读取当前解析的php文件的内容并显示。 
@global 
指明在此函数中引用的全局变量 
@ingore 
用于在文档中忽略指定的关键字 
@license 
相当于html标签中的,首先是URL,接着是要显示的内容 
例如百度 
可以写作 @license http://www.baidu.com 百度 
@link 
类似于license 
但还可以通过link指到文档中的任何一个关键字 
@name 
为关键字指定一个别名。 
@package 
使用范围:页面级别的-> define,function,include 
类级别的->class,var,methods 
用于逻辑上将一个或几个关键字分到一组。 
@abstrcut 
说明当前类是一个抽象类 
@param 
指明一个函数的参数 
@return 
指明一个方法或函数的返回指 
@static 
指明关建字是静态的。 
@var 
指明变量类型 
@version 
指明版本信息 
@todo 
指明应该改进或没有实现的地方 
@throws 
指明此函数可能抛出的错误异常,极其发生的情况 
上面提到过,普通的文档标记标记必须在每行的开头以@标记,除此之外,还有一种标记叫做inline tag,用{@}表示,具体包括以下几种: 
{@link} 
用法同@link 
{@source} 
显示一段函数或方法的内容

本文介绍了PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码,非常实用,不会的同学可以看看这篇文章。

创建文件我们用到函数

fopen ( string filename, string mode )
参数filename为创建文件名
参数mode为以什么方式打开文件filename
其中mode可能值列表:

mode 说明

&lsquo;r' 只读方式打开,将文件指针指向文件头。
&lsquo;r+' 读写方式打开,将文件指针指向文件头。
&lsquo;w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
&lsquo;w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
&lsquo;a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
&lsquo;a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
&lsquo;x' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
&lsquo;x+' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。
下面代码是我通过利用函数fopen创建一个名为Demo,格式为txt的文件,并在文件中写入"Welcome To ItCodeWorld!"的数据。

< ?php

//要创建的两个文件

$TxtFileName="Demo.txt";

//以读写方式打写指定文件,如果文件不存则创建

if( ($TxtRes=fopen($TxtFileName,"w+")) === FALSE){

echo("创建可写文件:".$TxtFileName."失败");

exit();

}

echo("创建可写文件".$TxtFileName."成功!</br>");

$StrConents="Welcome To ItCodeWorld!";//要 写进文件的内容

if(!fwrite ($TxtRes,$StrConents)){//将信息写入文件

echo("尝试向文件".$TxtFileName."写入".$StrConents."失败!");

fclose($TxtRes);

exit();

}

echo("尝试向文件".$TxtFileName."写入".$StrConents."成功!");

fclose ($TxtRes);//关闭指针

?>

PHP 创建文件 &ndash; fopen()
fopen() 函数也用于创建文件。也许有点混乱,但是在 PHP 中,创建文件所用的函数与打开文件的相同。
如果您用 fopen() 打开并不存在的文件,此函数会创建文件,假定文件被打开为写入(w)或增加(a)。
下面的例子创建名为 "testfile.txt" 的新文件。此文件将被创建于 PHP 代码所在的相同目录中:
实例
$myfile = fopen("testfile.txt", "w")
PHP 文件权限
如果您试图运行这段代码时发生错误,请检查您是否有向硬盘写入信息的 PHP 文件访问权限。
PHP 写入文件 &ndash; fwrite()
fwrite() 函数用于写入文件。
fwrite() 的第一个参数包含要写入的文件的文件名,第二个参数是被写的字符串。
下面的例子把姓名写入名为 "newfile.txt" 的新文件中:
实例

<?php

$myfile=fopen("newfile.txt","w")ordie("Unable to open file!");

$txt="Bill Gates\n";

fwrite($myfile,$txt);

$txt="Steve Jobs\n";

fwrite($myfile,$txt);

fclose($myfile);

?>

请注意,我们向文件 "newfile.txt" 写了两次。在每次我们向文件写入时,在我们发送的字符串 $txt 中,第一次包含 "Bill Gates",第二次包含 "Steve Jobs"。在写入完成后,我们使用 fclose() 函数来关闭文件。
如果我们打开 "newfile.txt" 文件,它应该是这样的:
Bill Gates
Steve Jobs

PHP 覆盖(Overwriting)

如果现在 "newfile.txt" 包含了一些数据,我们可以展示在写入已有文件时发生的的事情。所有已存在的数据会被擦除并以一个新文件开始。
在下面的例子中,我们打开一个已存在的文件 "newfile.txt",并向其中写入了一些新数据:
实例

<?php

$myfile=fopen("newfile.txt","w")ordie("Unable to open file!");

$txt="Mickey Mouse\n";

fwrite($myfile,$txt);

$txt="Minnie Mouse\n";

fwrite($myfile,$txt);

fclose($myfile);

?>

如果现在我们打开这个 &ldquo;newfile.txt&rdquo; 文件,Bill 和 Steve 都已消失,只剩下我们刚写入的数据:

Mickey Mouse
Minnie Mouse
换行符&lsquo;\n'和回车符&lsquo;\r'
顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符

&lsquo;\n' 10 换行(newline)
&lsquo;\r' 13 回车(return)

也可以表示为'\x0a'和'\x0d'.(16进制)
在windows系统下,回车换行符号是&rdquo;\r\n&rdquo;.但是在Linux等系统下是没有&rdquo;\r&rdquo;符号的。
在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定&rdquo;\r\n&rdquo;又要判定&rdquo;\n&rdquo;。
写程序时可能得到一行,将其进行trim掉'\r',这样能得到你所需要的string了。

[!--infotagslink--]

相关文章

  • php中eval()函数操作数组的方法

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

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • JavaScript判断浏览器及其版本信息

    本篇文章主要分享了通过window.navigator来判断浏览器及其版本信息的实例代码。具有一定的参考价值,下面跟着小编一起来看下吧...2017-01-23
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • php数组操作 键名比较 差集 交集赋值

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

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • js导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • php curl模拟post请求和提交多维数组的示例代码

    下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <&#63;php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • c#中分割字符串的几种方法

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04