冒泡排序与数组交集php做法

 更新时间:2016年11月25日 17:10  点击:1564

冒泡排序-php教程版本-交换排序法

$a=array('11','2','13','4','22');
$num = count($a);
for($i=0;$i<$num;$i++){
    for($j=0;$j<$num;$j++){
        if($a[$i]<$a[$j]){
            $temp = $a[$i];
            $a[$i]=$a[$j];
            $a[$j]=$temp;
        }
    }   
}
print_r($a);

归并排序-数组交集-php版

$a=array('1','2','3','4','22');
$b=array('1','3','4','11','22','23');
f($a, $b, 5, 6, $t);
print_r($t);
function f(&$a, &$b, $n, $m, &$t){
    $i=0;$j=0;
    while($i<$n && $j<$m){
       
        if($a[$i]==$b[$j]){
            echo $a[$i]." ";//交集
            $t[]=$a[$i++];
            $t[]=$b[$j++];
        }elseif($a[$i]>$b[$j]){
             $t[]=$b[$j++];

        }else{
            $t[]=$a[$i++];

        }
       
    }
    while($i<$n){
         $t[]=$a[$i++];
    }
   
     while($j<$m){
         $t[]=$b[$j++];
    }
   
}

本教程举了两个实例说明利用cookie实现访问次数统计的代码,包括有php教程 js 两种方法

<?php

global $count;

$count=1;

if(!isset($_COOKIE["visittime"])){ setcookie("visittime",date("y-m-d H:i:s"));

setcookie("visitcount",1); echo "欢迎你第一次访问网站!";

}

else{

setcookie("visittime",date("y-m-d,H:i:s"),time()+60); $count=$_COOKIE['visitcount']+1;

setcookie("visitcount",$count); echo "你上次访问网站的时间为:".$_COOKIE['visittime'];

echo "<br>";

}

echo "你第".$_COOKIE['visitcount']."访问网站的时间为:".date("y-m-d H:i:s");

?>

下面看个简单的js实现访问次数统计代码

脚本说明:
第一步:把如下代码加入<body>区域中

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (2 < argc) ? argv[2] : null;
var path = (3 < argc) ? argv[3] : null;
var domain = (4 < argc) ? argv[4] : null;
var secure = (5 < argc) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DisplayInfo() {
var expdate = new Date();
var visit;
expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 365));
if(!(visit = GetCookie("visit")))
visit = 0;
visit++;
SetCookie("visit", visit, expdate, "/", null, false);
var message;
if(visit == 1)
message="         Welcome to my page!";
if(visit== 2)
message="           I see you came back !";
if(visit == 3)
message="               Oh, it's you again!";
if(visit == 4)
message="            You must be curious!";
if(visit == 5)
message="      You're practically a regular!";
if(visit == 6)
message="              You need a hobby!";
if(visit == 7)
message="             Nothing better to do?";
if(visit == 8)
message="            Don't you ever sleep?";
if(visit == 9)
message="                      Get a life!!!";
if(visit >= 10)
message="  Rent is due on the 1st of the month!";
  alert("n"+"你的浏览器已经访问过本页" + visit +"次了"+"n"+"n"+message);
}
function ResetCounts() {
var expdate = new Date();
expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 365));
visit = 0;
SetCookie("visit", visit, expdate , "/", null, false);
history.go(0);
}
// End -->
</Script>
<FORM>
<CENTER>
<INPUT NAME="update" TYPE="BUTTON" VALUE="查看次数" OnClick="history.go(0)">
<INPUT NAME="reset" TYPE="BUTTON" VALUE="重新计数" OnClick="ResetCounts()">
</CENTER>
</FORM>

php教程中$_get要获取表单的数据那必须把METHOD=GET才行,否则就无法正常获取值哦,

$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。

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


看个获取表单数据的实例

<INPUT TYPE="image" NAME="submit_one" SRC="b.gif">
<INPUT TYPE="image" NAME="submit_two" SRC="b2.gif">


//Properly determining which submission button was clicked in PHP:

<?php
     if(isset($_GET['submit_one_x'])) {

     } elseif(isset($_GET['submit_two_x'])) {
     } else {

     }
?>

实例二

<?
<FORM ACTION="index.php" METHOD=GET>
<INPUT TYPE="hidden" NAME="time" VALUE="<?php echo time(); ?>">
Enter your message (5 minute time limit):<INPUT TYPE="text" NAME="mytext" VALUE="">
<INPUT TYPE="submit" Value="Send Data">
</FORM>

if($_GET['time']+300 >= time()) {
     echo "You took too long!<BR>";
     exit;
}
?>

操作select值

<SELECT NAME="myselect[]" MULTIPLE SIZE=3>
<OPTION VALUE="value1">A</OPTION>
<OPTION VALUE="value2">B</OPTION>
<OPTION VALUE="value3">C</OPTION>
<OPTION VALUE="value4">D</OPTION>
</SELECT>


//The PHP code to access which value(s) were selected:

<?php
     foreach($_GET['myselect'] as $val) {
          echo "You selected: $val<BR>";
     }
     echo "You selected ".count($_GET['myselect'])." Values.";
?>

获取表单提交的数据再输出,这也是个完整的实例

<html>
<head>
<title>A Simple HTML Form</title>
</head>
<body>
<div>
<form action="index.php" method="get">
<p><input type="text" name="user" /></p>
<p><textarea name="address" rows="5" cols="40">
</textarea></p>
<p><input type="submit" value="hit it!" /></p>
</form>
</div>
</body>
</html>


// index.php
<html>
<body>
<div>
 <?php
  print "Welcome <b>" . $_GET ['user'] . "</b><br/>nn";
  print "Your address is: <br/><b>" . $_GET ['address'] . "</b>";
  ?>
 </div>
</body>
</html>

注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。

注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的

 

php教程 cookies 删除,赋值方法

cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 php,您能够创建并取回 cookie 的值

语法

setcookie(name, value, expire, path, domain);

**
  * 设置cookie
   * n 名称
   * c 值
   * e 有效期 0 默认 一个月 1 关闭立即失效
   */
 

function w_cookie($n, $c, $e = 0,$isdes=1)
 {
   if($isdes==1){$c=endes($c,deskey);}
      $exp = time() + 3600 * 24 * 30;
      if($e == 0)
     {
          setcookie($n, $c, $exp,"/");
     }
     else
     {
      setcookie($n, $c,0,"/");
      }
 }


 
 //关闭cookie方法
 

 

w_cookie('bb', 'www.111cn.net', $e = 0,$isdes=1);


更多详细内容请查看:http://www.111cn.net/phper/php/34040.htm

更详细的方法

 

<?php
function set_cronology($name,$value,$duration=7){
$duration=time()+(3600*24*$duration);
$max_stored_values=5;
if(isset($_cookie[$name])){
foreach($_cookie[$name] as $prop_crono=>$val_crono){
if($val_crono==$value)
return;
}
if($prop_crono<$max_stored_values)
setcookie($name.'['.($prop_crono+1).']',$value,$duration);
else{
array_shift($_cookie[$name]);
setcookie("$name[$max_stored_values]",$value,$duration);
}
}else
setcookie($name.'[0]',$value,$duration);
return;
}
?>

注释:setcookie() 函数必须位于 <html> 标签之前。在发送 cookie 时,cookie 的值会自动进行 url 编码,在取回时进行自动解码(为防止 url 编码,请使用 setrawcookie() 取而代之)。

下面方法很简单,我们只要把$tmppath里面所有的以http://开的网站全部去了,


$picpath =preg_replace("/[a-za-z]+://[^ |/|s]*/",'',$tmppath);//去掉网址部分

这个正则表达式是获取字符串中所有的以src src不区分大小的获取所有图片的地址出来,并且保存在$tmpdata[2]中。
 preg_match_all("/src=["|'|s|s]([^|/|>]*){0,}(([^>]*).(gif|jpg|png))/isu",$body,$tmpdata);

$picspath =array_unique($tmpdata[2]);//body中所有图片的地址

[!--infotagslink--]

相关文章

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

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

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • 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
  • C#实现字符串转换成字节数组的简单实现方法

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • C# 拷贝数组的几种方法(总结)

    下面小编就为大家带来一篇C# 拷贝数组的几种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • PHP 二维数组根据某个字段排序的具体实现

    本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 遇到这个...2014-06-07
  • c#将字节数组转成易读的字符串的实现

    这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C#读取文件所有行到数组的方法

    这篇文章主要介绍了C#读取文件所有行到数组的方法,涉及C#针对文件及数组的相关操作技巧,需要的朋友可以参考下...2020-06-25
  • 将二维数组转为一维数组的2种方法

    如何将下面的二维数组转为一维数组。复制代码 代码如下:$msg = array(  array(    'id'=>'45',    'name'=>'jack'  ),  array(    'id'=>'34',    'name'=>'mary'  ),  array(    'id...2014-05-31
  • php中数组写入文件方法

    在php中为我们提供了一个函数var_export 他可以直接将php代码入到一个文件中哦。 代码如下 复制代码 var_export($times,true);后面不加tru...2016-11-25
  • PHP 如何获取二维数组中某个key的集合

    本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。 具体是这样的,如下一个二维数组,是从库中读取出来的。 代码清单: 复制代码 代码如下: $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'ema...2014-06-07
  • js有序数组的连接问题

    1.前言 昨天碰到一道关于如何解决有序数组的连接问题,这是一个很常见的问题。但是这里要考虑到代码的效率问题,因为要连接的数组都是有序的,这是一个非常重要的前提条件。2.简单但效率不高的算法 我首先想到的是使用...2013-10-04
  • python 实现将Numpy数组保存为图像

    今天小编就为大家分享一篇python 实现将Numpy数组保存为图像,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
  • js实现数组冒泡排序、快速排序原理

    这篇文章主要为大家详细介绍了js实现数组冒泡排序、快速排序的原理,感兴趣的小伙伴们可以参考一下...2016-03-10
  • C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)

    在工作中经常遇到C#数组、ArrayList、List、Dictionary存取数据,但是该选择哪种类型进行存储数据呢?很迷茫,今天小编抽空给大家整理下这方面的内容,需要的朋友参考下吧...2020-06-25
  • C#中数组初始化与数组元素复制的方法

    这篇文章主要介绍了C#中数组初始化与数组元素复制的方法,涉及C#中数组的创建、初始化及使用Array.Copy方法复制数组元素的技巧,需要的朋友可以参考下...2020-06-25
  • javascript中去除数组重复元素的实现方法【实例】

    下面小编就为大家带来一篇javascript中去除数组重复元素的实现方法【实例】。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧...2016-04-16