php 定义二维数组与数组定义方法

 更新时间:2016年11月25日 15:15  点击:1852
这篇文章对于初学者来说比较有用了,是来告诉你php 定义二维数组与数组定义方法哦,定义一维数组很简单,方法也比较多,定义二级或多维数组也差不多,如下。

$array[] =1; //定义数组
$array = array(1); //定义数组

/*
php如何定义二维数组(多维数组)呢?

将一个一维数组的元素也定义为数组,就是一个二维数组,


$aa=array(0=>"dd",1=>"ff");
$bb=array(0=>"b1",1=>"b2");

$cc=array(0=>$aa;1=>$bb); 此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组.
*/

//如何动态定义多维数组呢。

$obj = array(16=>16);
for($i=0;$i<16;$i++) {
 for($j=0;$j<16;$j++) {
  $obj[$i]=$j;
 }
}

本文章收集了三种关于从字符串或文章内容中匹配url正则表达式的php代码,前二种函数是获取以域名为标题的http,后一种是匹配内容中的url地址并且保存到数组中哦。

//方法一

$ereg_str[url] =   "^[hh]{1}[tt]{2}[pp]{1}://[ww]{3}.[0-9a-za-z][0-9a-za-z-]{0,25}((.[a-za-z]{3,4})|(.[a-za-z]{2})){1,2}$ "; //判断一个合法的url
$pattern =   $ereg_str['url'];
if(ereg($pattern,$string)) echo   " <br> right! ";
else   echo   " <br> error! ";
}


//

$str[]   =   "http://www.111cn.net";

$pattern   =   '/^(http://)?www.[0-9a-z][0-9a-z-]{0,25}((.(aero|biz|cc|co|com|coop|edu|gov|info|int|mil|museum|name|nato|net|org|tv))?(.(af|aq|at|au|be|bg|br|ca|ch|cl|cn|de|eg|es|fi|fr|gr|hk|hu|ie|il|in|iq|ir|is|it|jp|kr|mx|nl|no|nz|pe|ph|pr|pt|ru|se|sg|th|tr|tw|uk|us|za))?){1}$/i ';

foreach($str   as   $key=> $val)
{
        $key++;
        if(preg_match($pattern,$val))
                echo   " <br> <font   color=green> right! </font>   ".$val;
        else
                echo   " <br> <font   color=red> error! </font>   ".$val;
}

//方法三

//匹配<a href="xxxxxx">yyyyyy</a>
"/<a.+hrefs*=s*['"]?([^s<'"]*)['"]?.*>([^</a>].*)</a>/i"

//匹配href="xxxxxx"
s*<[aa]{1}s*href="([^"]*)"s*>([^<]*)</1>

$reg = "<a[ss]*?(href)s*=s*(?(?=["'])((["'])(?<href>[^"']*)2)|(?<src>[^s>]+))[ss]*?>";

?>

文章提供了三种php 字符串转数组方法,利用了函数explode str_split split eval等四种函数来举不同的例子说名如何把字符串转换成数组实例。

 
 $str = "corn, broccoli, zucchini";
 $ar = explode(", ", $text);
 print_r($ar);
 /*
 定义和用法
 explode() 函数把字符串分割为数组。
 
 语法
 explode(separator,string,limit)参数 描述
 separator 必需。规定在哪里分割字符串。
 string 必需。要分割的字符串。
 limit 可选。规定所返回的数组元素的最大数目。
*/ 
 
 $biuuu = 'www.111cn.net';
 print_r(str_split($biuuu)) 
 /*
 定义和用法
 str_split() 函数把字符串分割到数组中。
 
 语法
 str_split(string,length)参数 描述
 string 必需。规定要分割的字符串。
 length 可选。规定每个数组元素的长度。默认是 1。
*/
 
 //
 $str="$str=$str;";
 eval($str);
 
 $string = '杯子';
 $name = '咖啡';
 $str = '这个 $string 中装有 $name.<br>';
 echo $str;
 eval( "$str = "$str";" );
 echo $str;

 //eval eval()函数的作用是:返回与php代码相对应的字符串。
 
 
 $str="1:0:1:0:1";
 $arraylist=split(":",$str); //存入数组
 
 for($i=0;$i<count($arraylist);$i++) //把它们全部输出来
 {
 echo $arraylist[$i]."   ";
 }

变量范围的另一个重要特性是静态变量(static variable)。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。看看下面的例子:

class test
{
public static function a(){}
public function b(){}
}
$obj = new test;

调用 代码

test::a();
$obj->a();
$obj->b();

 

例子 演示需要静态变量的例子
<?php教程

class myobject {
 public static $mystaticvar = 0;

 function mymethod() {
  // ::为作用域限定操作符
  // 用的self作用域而不是$this作用域
  // 因为$this只表示类的当前实例,而self::表达的是类的本身
  self::$mystaticvar += 2;
  echo self::$mystaticvar . "<br />";
 }
}

$instance1 = new myobject();
$instance1->mymethod();  // 显示 2

$instance2 = new myobject();
$instance2->mymethod();  // 显示 4

?>

 

<?php

class myobject {
 public static $myvar = 10;
}

echo myobject::$myvar;

// 结果: 10
?>


本函数没什么用处,因为每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有作用,因为一旦退出本函数则变量 $w3sky 就不存在了。要写一个不会丢失本次计数值的计数函数,要将变量 $w3sky 定义为静态的:


例子 使用静态变量的例子

<?php
   function test()
   {
   static $w3sky = 0;
   echo $w3sky;
   $w3sky++;
   }
   ?>
现在,每次调用 test() 函数都会输出 $w3sky 的值并加一。

看个实例


<?php
class foo
{
public static $my_static = 'foo';
public function staticvalue() {
return self::$my_static;
}
}
class bar extends foo
{
public function foostatic() {
return parent::$my_static;
}
}
print foo::$my_static . "n";
$foo = new foo();
print $foo->staticvalue() . "n";
print $foo->my_static . "n"; // undefined "property" my_static
print $foo::$my_static . "n";
$classname = 'foo';
print $classname::$my_static . "n"; // php 5.3.0之后可以动态调用
print bar::$my_static . "n";
$bar = new bar();
print $bar->foostatic() . "n";
?>
更多详细内容请查看:http://www.111cn.net/phper/php-cy/33303.htm

文章提供了四种获取 文件扩展名方法哦,这是利用了php的各种方法一函数来实现文件扩展名的获取,我个人特别喜欢最后一种获取文件文件扩展名方法,利用了php end函数直接获取数组最后一个元素的内容就OK了。

<?php

方法一

 代码如下 复制代码
function extend_1($file_name)
{
$retval="";
$pt=strrpos($file_name, ".");
if ($pt) $retval=substr($file_name, $pt+1, strlen($file_name) - $pt);
return ($retval);
}


?>


方法二:

 代码如下 复制代码
function extend_2($file_name)
{
$extend = pathinfo($file_name);
$extend = strtolower($extend["extension"]);
return $extend;
}


方法三:

 代码如下 复制代码
function extend_3($file_name)
{
$extend =explode("." , $file_name);
$va=count($extend)-1;
return $extend[$va];
}

 


方法四:

 代码如下 复制代码

function extend_3($file_name)
{
$extend =explode("." , $file_name);
return end($extend); 
}

[!--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
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • 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
  • ps把文字背景变透明的操作方法

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

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • intellij idea快速查看当前类中的所有方法(推荐)

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

    这篇文章主要介绍了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
  • php curl模拟post请求和提交多维数组的示例代码

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

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • PHP 验证码不显示只有一个小红叉的解决方法

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

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25