当前位置:  编程技术>php
本页文章导读:
    ▪php取数组中指定长度的数据的方法分享      在php程序中,减少查询的次数,也是一个提高网站整体性能的办法。 将满足基本条件的数据全部查询出来: <?php $list_json = $this->accessCourse('ID DESC', 1);//查询出所以满足基本条件的数据,.........
    ▪最新手机号码正则表达式(php版)      之前,,为大家介绍过一些用于验证手机号码的正则,比如: php匹配电话号码的正则表达式(支持区位、直播号码、分机号码) php常用正则表达式(日期 电话 中文 邮箱等) 不过,现在手机号码.........
    ▪获取当前页面的完整URL(/blog_article/php与js实现/index.html)      1,javascript实现获取当前页面的完整URL: top.location.href   顶级窗口的地址 this.location.href  当前窗口的地址 2,PHP实现获取当前页面的完整URL: <?php /** * 当前页面的完整URL获取实例 * edit.........

[1]php取数组中指定长度的数据的方法分享
    来源: 互联网  发布时间: 2013-12-24

在php程序中,减少查询的次数,也是一个提高网站整体性能的办法。

将满足基本条件的数据全部查询出来:

<?php
$list_json = $this->accessCourse('ID DESC', 1);//查询出所以满足基本条件的数据,状态正常...
$list = Json_decode($list_json, true);//因为查询出来的是json格式这里将其转换成array格式
 
//热门课程
$toplist = array_sort($list, 'NUM', SORT_DESC);//二维数组排序
$this->assign('toplist', $toplist);
//感兴趣
$interest = findArrayList($list,9);//筛选出9条数据
$this->assign('interest', $interest);
//试听课程
$listen_yw = findArrayList($list,4,'SUBJECT',1);//语文
$listen_sx = findArrayList($list,4,'SUBJECT',2);//数学
$listen_yy = findArrayList($list,4,'SUBJECT',3);//英语
$listen_wl = findArrayList($list,4,'SUBJECT',4);//物理
$listen_hx = findArrayList($list,4,'SUBJECT',5);//化学
$this->assign('listen_yw', $listen_yw);
$this->assign('listen_sx', $listen_sx);
$this->assign('listen_yy', $listen_yy);
$this->assign('listen_wl', $listen_wl);
$this->assign('listen_hx', $listen_hx);
?>

以下是findArrayList函数的实现代码。

<?php
/**
 * 查询数组
 * @param array $array
 * @param int $length
 * @param string $field
 * @param $string $value
 * @return array
 * @edit by www.
 **/
function findArrayList($array, $length = null, $field = null, $value = null){
    if(!is_array($array)){
return $array;
    }
    $new_arr = array();
    if(!is_null($field)){
foreach ($array as $k=>$v){
    if($array[$k][$field] == $value){
$new_arr[$k] = $v;
    }
}
if(empty($new_arr)){
    return ;
}
    }
    if(empty($new_arr)){
$new_arr = $array;
    }
    if(!is_null($length)){
$new_arr = array_slice($new_arr,0,$length);//取出数组中指定的长度
    }
    return $new_arr;
}
?>


代码说明:
array_slice 从数组中取出一段
array array_slice ( array array, int offset [, int length [, bool preserve_keys]] )
array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。

如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。

如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset
开始一直到 array 的末端。

注意:
array_slice() 默认将重置数组的键。自 PHP 5.0.2 起,可以通过将 preserve_keys 设为 TRUE 来改变此行为。
还有一个相对应的 array_splice 把数组中的一部分去掉并用其它值取代。
array array_splice ( array &input, int offset [, int length [, array replacement]] )

array_splice() 把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用 replacement 数组中的单元取代。返回一个包含有被移除单
元的数组。注意 input 中的数字键名不被保留。

如果 offset 为正,则从 input 数组中该值指定的偏移量开始移除。如果 offset 为负,则从 input 末尾倒数该值指定的偏移量开始移除。

如果省略 length,则移除数组中从 offset 到结尾的所有部分。
如果指定了 length 并且为正值,则移除这么多单元。
如果指定了 length 并且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的单元。

小技巧:
当给出了 replacement 时要移除从 offset 到数组末尾所有单元时,用 count($input) 作为 length。
如果给出了 replacement 数组,则被移除的单元被此数组中的单元替代。
如果 offset 和 length 的组合结果是不会移除任何值,则 replacement 数组中的单元将被插入到 offset 指定的位置。

注意:
替换数组中的键名不保留。
如果用来替换的值只是一个单元,那么不需要给它加上 array(),除非该单元本身就是一个数组。

希望通过以上的介绍,大家可以掌握array_splice函数的用法,以及从数组中取指定长度数据的方法。

,祝大家学习进步。


    
[2]最新手机号码正则表达式(php版)
    来源: 互联网  发布时间: 2013-12-24

之前,,为大家介绍过一些用于验证手机号码的正则,比如:
php匹配电话号码的正则表达式(支持区位、直播号码、分机号码)
php常用正则表达式(日期 电话 中文 邮箱等)

不过,现在手机号码增加了150,153,156,158,159,157,188,189等号段,这里补充下相关的正则表达式。
如下:
 

代码示例:
string s = @"^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$";

再添加180,147等:
 

代码示例:
^(1(([35][0-9])|(47)|[8][0126789]))\d{8}$

再次修改添加了183,并添加了座机的,如下:
 

代码示例:
手机:^(1(([35][0-9])|(47)|[8][01236789]))\d{8}$
座机:^0\d{2,3}(\-)?\d{7,8}$

 
下面介绍下在php与java中用到的二个正则表达式验证手机号码的例子。

1,php版
 

代码示例:
<?php
$text = '15812345678';
$search ='/^(1(([35][0-9])|(47)|[8][0126789]))\d{8}$/';
if(preg_match($search,$text)) {
 echo '手机完全符合';
}else {
 echo '手机格式不符合';
}//edit by www.
?>

2,java版
 

代码示例:

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // string s = @"^(13[0-9]|15[0|3|6|8|9])\d{8}$";

              string s = @"^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$";
            while (true)
            {
                string input = Console.ReadLine();
                if (Regex.IsMatch(input, s))
                {
                    MessageBox.Show("完全符合!");
                }
                else
                {
                    MessageBox.Show("不符合!");
                }
            }
        }
    }
}


    
[3]获取当前页面的完整URL(/blog_article/php与js实现/index.html)
    来源: 互联网  发布时间: 2013-12-24

1,javascript实现获取当前页面的完整URL:
top.location.href   顶级窗口的地址
this.location.href  当前窗口的地址

2,PHP实现获取当前页面的完整URL:

<?php
/**
* 当前页面的完整URL获取实例
* edit by www.
*/
#测试网址: http://localhost/blog/testurl.php?id=5
 
//获取域名或主机地址 
echo $_SERVER['HTTP_HOST']."<br>"; #localhost
 
//获取网页地址 
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php
 
//获取网址参数 
echo $_SERVER["QUERY_STRING"]."<br>"; #id=5
 
//获取用户代理 
echo $_SERVER['HTTP_REFERER']."<br>"; 
 
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/blog/testurl.php?id=5
 
//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
#http://localhost:80/blog/testurl.php?id=5
 
//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; 
echo dirname($url);
#http://localhost/blog
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
编程语言 iis7站长之家
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3