php中addslashes数组递归转义例子

 更新时间:2016年11月25日 15:38  点击:1348
我们知道在php中addslashes函数是一个安全过滤函数,可以对接受到的变量进行转义以安全的入库了,但如果我们是以数组形式传参数过来,直接使用此函数无法进行操作了,下面我们一起来看看实现方法。

一、函数主要了addslashes 方法

addslashes() 函数在指定的预定义字符前添加反斜杠。

这些预定义字符是:

•单引号 (')
•双引号 (")
•反斜杠 (\)
•NULL

二、array_map 说明

     array_map() 函数返回用户自定义函数作用后的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
    如果传递进来的参数 是数组形式则使用array_map方法进行参数的转义。


我们在开发对于$_GET,$_POST等变量

 代码如下 复制代码

/**
 * 递归方式的对变量中的特殊字符进行转义
 *
 * @access  public
 * @param   mix     $value
 *
 * @return  mix
 */
function addslashes_deep($value)
{
 if (empty($value))
 {
  return $value;
 }
 else
 {
  return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);
 }
}

如果是数组将无法完成安全转义了,下面整理了一个例子,大家来看看


方法三,可以参考该递归方法实现其他功能,代码如下:

 代码如下 复制代码

<?php
$arr = array('a"aa',array("c'd",array('e"f')));
function changes($arr){
 foreach($arr as $k=>$v){
  if (is_string($v)){
   $arr[$k] = addslashes($v);
  }else if (is_array($v)) { //若为数组,则再转义.
   $arr[$k] = changes($v);
  }
 }
  return $arr;
}
print_r(changes($arr));
?>
输入结果如下:

Array
(
    [0] => a\"aa
    [1] => Array
        (
            [0] => c\'d
            [1] => Array
                (
                    [0] => e\"f
                )

        )

)

原理是非常的简单,就是把数据利用foreach遍历一个个数组值进行操作了。

 

在网上找了一些php购物车例子,都是把数据保存在cookie或者session中了,这种问题其实是不成熟的如果用户关闭浏览器或清除缓存就没有了,但使用过淘宝的朋友都知道数据下次还会有,下面我们这个例子就是结合mysql数据库实现的购物车程序。

电商网站开发过程中购物车实现是必要的功能,本文为大家介绍php 购物车代码的实现。

原理:cookie存购物车ID,数据库存购物车数据。

 代码如下 复制代码

<?php
//购物车session的产生代码
if(! $session && ! $scid) {
 /*
 session用来区别每一个购物车,相当于每个车的身份证号;
 scid只用来标识一个购物车id号,可以看做是每个车的名字;
 当该购物车的id和session值两者都不存在时,就产生一个新购物车
 */
 $session = md5(uniqid(rand()));
 /*
 产生一个唯一的购物车session号
 rand()先产生个随机数,uniqid()再在该随机数的基础上产生一个独一无二的字符串,最后对该字符串进行md5
 */
 SetCookie(scid, $session, time() + 14400);
 /*
 设置该购物车cookie
 变量名:scid(不知到这里是不是少了一个 $号呢?=》更正:scid要加“”)
 变量值: $session
 有效时间:当前时间+14400秒(4小时内)
 关于setcookie函数的详细用法,大家还是参看php手册吧~
 */
}

//----------------------------------------------------
//开始购物车类
class Cart { //开始购物车类
 function check_item( $table, $session, $product) {
  /*
  查验物品(表名,session,物品)
  */
  $query = "SELECT * FROM $table WHERE session=' $session' AND product=' $product'" ;
  /*
  看一看'表'里该'购物车'中有没有该'产品'
  即,该产品有没有已经放入购物车
  */
  $result = mysql_query( $query);
  if(! $result) {
   return 0;
  }
  /*
  查询失败
  */
  $numRows = mysql_num_rows( $result);
  if( $numRows == 0) {
   return 0;
   /*
   若没有找到,则返回0
   */
  } else {
   $row = mysql_fetch_object( $result);
   return $row->quantity;
   /*
   若找到,则返回该物品数量
   这里有必要解释一下mysql_fetch_object函数(下面还会用到):
   【mysql_fetch_object() 和 mysql_fetch_array() 类似,只有一点区别 - 返回一个对象而不是数组。】
   上面这句话摘自php手册,说得应该很明白了吧~
   简单的说就是,取一条记录中的某个字段,应该用“->”而不是像数组一样用下标
   */
  }
 }
 function add_item( $table, $session, $product, $quantity) {
  /*
  添加新物品(表名,session,物品,数量)
  */
  $qty = $this->check_item( $table, $session, $product);
  /*
  调用上面那个函数,先检查该类物品有没有已经放入车中
  */
  if( $qty == 0) {
   $query = "INSERT INTO $table (session, product, quantity) VALUES" ;
   $query .= "(' $session', ' $product', ' $quantity') ";
   mysql_query( $query);
   /*若车中没有,则像车中添加该物品*/
  } else {
   $quantity += $qty; //若有,则在原有基础上增加数量
   $query = "UPDATE $table SET quantity=' $quantity' WHERE session=' $session' AND" ;
   $query .= "product=' $product'" ;
   mysql_query( $query);
   /*
   并修改数据库
   */
  }
 }
 function delete_item( $table, $session, $product) {
  /*
  删除物品(表名,session,物品)
  */
  $query = "DELETE FROM $table WHERE session=' $session' AND product=' $product'" ;
  mysql_query( $query);
  /*
  删除该购物车中该类物品
  */
  }
  function modify_quantity( $table, $session, $product, $quantity) {
  /*
  修改物品数量(表名,session,物品,数量)
  */
  $query = "UPDATE $table SET quantity=' $quantity' WHERE session=' $session'" ;
  $query .= "AND product=' $product'" ;
  mysql_query( $query);
  /*
  将该物品数量修改为参数中的值
  */
 }
 function clear_cart( $table, $session) {
  /*
  清空购物车(没什么好说)
  */
  $query = "DELETE FROM $table WHERE session=' $session'" ;
  mysql_query( $query);
 }
 function cart_total( $table, $session) {
  /*
  车中物品总价
  */
  $query = "SELECT * FROM $table WHERE session=' $session'" ;
  $result = mysql_query( $query);
  /*
  先把车中所有物品取出
  */
  if(mysql_num_rows( $result) > 0) {
   while( $row = mysql_fetch_object( $result)) {
    /*
    如果物品数量>0个,则逐个判断价格并计算
    */
    $query = "SELECT price FROM inventory WHERE product=' $row->product'" ;
    $invResult = mysql_query( $query);
    /*
    从inventory(库存)表中查找该物品的价格
    */
    $row_price = mysql_fetch_object( $invResult);
    $total += ( $row_price->price * $row->quantity);
    /*
    总价 += 该物品价格 * 该物品数量
    ( 大家应该能看明白吧:) )
    */
    }
   }
   return $total; //返回总价钱
  }
  function display_contents( $table, $session) {
  /*
  获取关于车中所有物品的详细信息
  */
  $count = 0;
  /*
  物品数量计数
  注意,该变量不仅仅为了对物品数量进行统计,更重要的是,它将作为返回值数组中的下标,用来区别每一个物品!
  */
  $query = "SELECT * FROM $table WHERE session=' $session' ORDER BY id" ;
  $result = mysql_query( $query);
  /*
  先取出车中所有物品
  */
  while( $row = mysql_fetch_object( $result)) {
  /*
  分别对每一个物品进行取详细信息
  */
  $query = "SELECT * FROM inventory WHERE product=' $row->product'" ;
  $result_inv = mysql_query( $query);
  /*
  从inventory(库存)表中查找该物品的相关信息
  */
  $row_inventory = mysql_fetch_object( $result_inv);
  $contents[product][ $count] = $row_inventory->product;
  $contents[price][ $count] = $row_inventory->price;
  $contents[quantity][ $count] = $row->quantity;
  $contents[total][ $count] = ( $row_inventory->price * $row->quantity);
  $contents[description][ $count] = $row_inventory->description;
  /*
  把所有关于该物品的详细信息放入 $contents数组
  $contents是一个二维数组
  第一组下标是区别每个物品各个不同的信息(如物品名,价钱,数量等等)
  第二组下标是区别不同的物品(这就是前面定义的 $count变量的作用)
  */
  $count++; //物品数量加一(即下一个物品)
  }
  $total = $this->cart_total( $table, $session);
  $contents[final] = $total;
  /*
  同时调用上面那个cart_total函数,计算下总价钱
  并放入 $contents数组中
  */
  return $contents;
  /*
  将该数组返回
  */
 }
 function num_items( $table, $session) {
  /*
  返回物品种类总数(也就是说,两个相同的东西算一种 好像是废话- -!)
  */
  $query = "SELECT * FROM $table WHERE session=' $session'" ;
  $result = mysql_query( $query);
  $num_rows = mysql_num_rows( $result);
  return $num_rows;
  /*
  取出车中所有物品,获取该操作影响的数据库行数,即物品总数(没什么好说的)
  */
 }
 function quant_items( $table, $session) {
  /*
  返回所有物品总数(也就是说,两个相同的东西也算两个物品 - -#)
  */
  $quant = 0;// 物品总量
  $query = "SELECT * FROM $table WHERE session=' $session' ";
  $result = mysql_query( $query);
  while( $row = mysql_fetch_object( $result)) {
   /*
   把每种物品逐个取出
   */
   $quant += $row->quantity; //该物品数量加到总量里去
  }
  return $quant; //返回总量
 }
}

微信公众平台开发自定义菜单功能打开非常的简单只需要在微信网站后台进行一些简单的设置即可,具体来给各位演示一下。
一、自定义菜单概述
自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。开启自定义菜单后,公众号界面如图所示:
wx1
二、申请自定义菜单
个人订阅号使用微博认证、企业订阅号通过微信认证;可以申请到自定义菜单资格
服务号默认有菜单权限。
三、获得AppId 和AppSecert
在微信后台使用找到高级功能-开发模式
wx2
成为开发者之后,就可以看到appid和appsecert了
wx3
如果没有url和Token , 你可以先用方倍工作室的下面的测试通过
URL:   http://discuz.comli.com/test.php
Token:  weixin
四、获得Access Token
用appid和appsecert获得access token,接口为
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

程序实现如下

$appid = "";
$appsecret = "";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$jsoninfo = json_decode($output, true);
$access_token = $jsoninfo["access_token"];
你也可以直接在浏览器地址栏中,拼接出地址,执行后,获得如下数据

{"access_token":"N2L7KXa084WvelONYjkJ_traBMCCvy_UKmpUUzlrQ0EA2yNp3Iz6eSUrRG0bhaR_viswd50vDuPkY5nG43d1gbm-olT2KRMxOsVE08RfeD9lvK9lMguNG9kpIkKGZEjIf8Jv2m9fFhf8bnNa-yQH3g","expires_in":7200}
参数说明如下

 

参数说明如下
wx4
其中的
 代码如下 复制代码
N2L7KXa084WvelONYjkJ_traBMCCvy_UKmpUUzlrQ0EA2yNp3Iz6eSUrRG0bhaR_viswd50vDuPkY5nG43d1gbm-olT2KRMxOsVE08RfeD9lvK9lMguNG9kpIkKGZEjIf8Jv2m9fFhf8bnNa-yQH3g
就是access token。
或者使用官方的接口调试工具,地址为:
使用网页调试工具调试自定义菜单接口
wx5
点击检查问题得,得到
wx6
这样也获得了access token
五、组织菜单内容
目前自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“…”代替。请注意,创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。建议测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。
目前自定义菜单接口可实现两种类型按钮,如下:
click:
用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event 的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互;
view:
用户点击view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值 (即网页链接),达到打开网页的目的,建议与网页授权获取用户基本信息接口结合,获得用户的登入个人信息。
接口调用请求说明
http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

请求示例


 {
     "button":[
     {   
          "type":"click",
          "name":"今日歌曲",
          "key":"V1001_TODAY_MUSIC"
      },
      {
           "type":"click",
           "name":"歌手简介",
           "key":"V1001_TODAY_SINGER"
      },
      {
           "name":"菜单",
           "sub_button":[
           {   
               "type":"view",
               "name":"搜索",
               "url":"http://www.soso.com/"
            },
            {
               "type":"view",
               "name":"视频",
               "url":"http://v.qq.com/"
            },
            {
               "type":"click",
               "name":"赞一下我们",
               "key":"V1001_GOOD"
            }]
       }]
 }
参数说明


返回结果

正确时的返回JSON数据包如下:

{“errcode”:0,”errmsg”:”ok”}
错误时的返回JSON数据包如下(示例为无效菜单名长度):

{“errcode”:40018,”errmsg”:”invalid button name size”}

六、提交菜单内容给服务器

菜单的JSON结构为

1
{"button":[{"name":"天气预报","sub_button":[{"type":"click","name":"北京天气","key":"天气北京"},{"type":"click","name":"上海天气","key":"天气上海"},{"type":"click","name":"广州天气","key":"天气广州"},{"type":"click","name":"深圳天气","key":"天气深圳"},{"type":"view","name":"本地天气","url":"http://m.hao123.com/a/tianqi"}]},{"name":"方倍工作室","sub_button":[{"type":"click","name":"公司简介","key":"company"},{"type":"click","name":"趣味游戏","key":"游戏"},{"type":"click","name":"讲个笑话","key":"笑话"}]}]}
将以下代码保存为menu.php,并且在浏览器中运行该文件(比如 http://127.0.0.1/menu.php),将直接向微信服务器提交菜单,


< ?php
 
$access_token = "";
 
$jsonmenu = '{
      "button":[
      {
            "name":"天气预报",
           "sub_button":[
            {
               "type":"click",
               "name":"北京天气",
               "key":"天气北京"
            },
            {
               "type":"click",
               "name":"上海天气",
               "key":"天气上海"
            },
            {
               "type":"click",
               "name":"广州天气",
               "key":"天气广州"
            },
            {
               "type":"click",
               "name":"深圳天气",
               "key":"天气深圳"
            },
            {
                "type":"view",
                "name":"本地天气",
                "url":"http://m.hao123.com/a/tianqi"
            }]
 
 
       },
       {
           "name":"方倍工作室",
           "sub_button":[
            {
               "type":"click",
               "name":"公司简介",
               "key":"company"
            },
            {
               "type":"click",
               "name":"趣味游戏",
               "key":"游戏"
            },
            {
                "type":"click",
                "name":"讲个笑话",
                "key":"笑话"
            }]
 
 
       }]
 }';
 
 
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;
$result = https_request($url, $jsonmenu);
var_dump($result);
 
function https_request($url,$data = null){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    if (!empty($data)){
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);
    curl_close($curl);
    return $output;
}
 
?>
或者使用官方的调试接口 使用网页调试工具调试该接口

 


wx8
wx9
提交成功后,重新关注后即可看到菜单。
强烈推荐使用官方的网页调试工具调试该接口。
检测字符串编码可以有很多种方法,如利用ord获得字符的进制然后进入判断,或利用mb_detect_encoding函数来处理,下面整理了几种方法。

例子1

 

 代码如下 复制代码
/**
* 检测字符串是否为UTF8编码
* @param string $str 被检测的字符串
* @return boolean
*/
function is_utf8($str){
$len = strlen($str);
for($i = 0; $i < $len; $i++){
$c = ord($str[$i]);
if ($c > 128) {
if (($c > 247)) return false;
elseif ($c > 239) $bytes = 4;
elseif ($c > 223) $bytes = 3;
elseif ($c > 191) $bytes = 2;
else return false;
if (($i + $bytes) > $len) return false;
while ($bytes > 1) {
$i++;
$b = ord($str[$i]);
if ($b < 128 || $b > 191) return false;
$bytes--;
}
}
}
return true;
}

例子2

 

 代码如下 复制代码
 function is_utf8($string) {
     return preg_match('%^(?:
             [\x09\x0A\x0D\x20-\x7E]                 # ASCII
         | [\xC2-\xDF][\x80-\xBF]                 # non-overlong 2-byte
         |     \xE0[\xA0-\xBF][\x80-\xBF]             # excluding overlongs
         | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}     # straight 3-byte
         |     \xED[\x80-\x9F][\x80-\xBF]             # excluding surrogates
         |     \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
         | [\xF1-\xF3][\x80-\xBF]{3}             # planes 4-15
         |     \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
     )*$%xs', $string);     
}

准确率基本和mb_detect_encoding()一样,要对一起对,要错一起错。
编码检测不可能100%准确,这个东西已经可以基本满足要求了。

例子3

 代码如下 复制代码

function mb_is_utf8($string)  
{  
    return mb_detect_encoding($string, 'UTF-8') === 'UTF-8';//新发现  


例子4

 代码如下 复制代码

// Returns true if $string is valid UTF-8 and false otherwise.  
function is_utf8($word)  
{  
if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word) == true)  
{  
return true;  
}  
else  
{  
return false;  
}  
} // function is_utf8  

CURL应用广范,本文来介绍CURL模拟POST提交的二种方法实例,他们都是返回json字符串格式。


方法一(返回的是json字符串格式):

 代码如下 复制代码
/**
* Curl版本
* 使用方法:
* $post_string = "app=request&version=beta";
* request_by_curl('http://facebook.cn/restServer.php',$post_string);
*/

function actionPost($url,$data){ // 模拟提交数据函数
    $curl = curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
    curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
    curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookie.txt'); // 读取上面所储存的Cookie信息
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    $tmpInfo = curl_exec($curl); // 执行操作
    if (curl_errno($curl)) {
    echo 'Errno'.curl_error($curl);
    }
    curl_close($curl); // 关键CURL会话
    return $tmpInfo; // 返回数据
}



方法二(返回的是json字符串格式):

 代码如下 复制代码

function actionCurl($remote_server, $post_string){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_URL,$remote_server);
    //为了支持cookie
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
    $result = curl_exec($ch);
    return $result;
}
[!--infotagslink--]

相关文章

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

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

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • 经典实例讲解C#递归算法

    这篇文章主要用实例讲解C#递归算法的概念以及用法,文中代码非常详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下...2020-06-25
  • php数组操作 键名比较 差集 交集赋值

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

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C#数组的常用操作方法小结

    Array数组在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# 拷贝数组的几种方法(总结)

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

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

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • 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
  • C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)

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

    这篇文章主要介绍了C#中List和数组之间转换的方法,涉及比较简单的转换技巧,需要的朋友可以参考下...2020-06-25
  • javascript中去除数组重复元素的实现方法【实例】

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