php中implode()函数实现字符连接

 更新时间:2016年11月25日 17:05  点击:2079
在php中implode() 函数把数组元素组合为一个字符串了,与explode函数正好是反正,下面来看几个implode函数示例。

语法

implode(separator,array) // array为数组,separator为分切符。

例子

 

 代码如下 复制代码
//链接搜索条件
$wheresql = implode(' AND ', $wherearr); //链接搜索条件
 function simplode($ids) {
return "'".implode("','", $ids)."'";
}
   $itemidarr = array(); //初始化itemidarr数组
  if(empty($_POST['item'])) {  //判断提交过来的是否存在待操作的记录,如果没有,则显示提示信息并退出
   showmessage('space_no_item');
  }
  $itemidstr = simplode($_POST['item']); //用逗号链接所有的操作ID
  //对提交的数据进行检查

实例代码:

 代码如下 复制代码
$catidarr = array();
if(!empty($t1)) $catidarr[] = '\''.$t1.'\'';
if(!empty($t2)) $catidarr[] = '\''.$t2.'\'';
if(!empty($t3)) $catidarr[] = '\''.$t3.'\'';
$catidstr = implode(' , ', $catidarr); //用逗号链接所有的操作ID

SQL语句示例:

 代码如下 复制代码
SELECT uid, name, namestatus FROM ".tname('space')." WHERE uid IN (".simplode($uids).")

例子,批量删除数据

SQL:$SQL="delete from `doing` where id in ('1,2,3,4')";

数据用逗号隔开。

 代码如下 复制代码

表单:<form action="?action=doing" method="post">

<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/>

<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="2"/>

<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="3"/>

<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="4"/>

<input type="submit"/>

</form>

好$ID_Dele=$_POST['ID_Dele']将会是一个数组,虽然说PHP是弱类型的,但这里可没ASP弱。ASP可以直接:

SQL="delete from [doing] where id in ('"&ID_Dele&"')"进行删除。但PHP不能把$ID_Dele直接放进去。因为$ID_Dele可不是'1,2,3,4'哦,因为$ID_Dele是一个数组,具有键和值。

好,PHP中也不难,刚好有个函数:implode(),对了。同split()explode()功能刚好相反的一个函数,后两者是用某字符(比如逗号)分割的,而前者则可以拼接为字符串。

因此:

 代码如下 复制代码

$ID_Dele= implode(",",$_POST['ID_Dele']);

$SQL="delete from `doing` where id in ($ID_Dele)";

在用wordpress进行二次开发的时候,会在它的模板里面看到一些奇怪的php语法,这些语法在php里面不常用。对于一部分PHPer没见过的代码?难道是那些博客的开发者自己搞的仿PHP的模板语言?其实这些都是PHP的语法,只不过不常用而已,这些都是PHP流程控制的替代语法。

这里就就给大家详细说一下PHP流程控制的替代语法。什么是替代语法?
简单的说就是一些语法的另类写法。
PHP中那些语法有替代语法?
流程控制(包括if,while,foreach,switch)这几个语句有替代语法。
替代语法的基本形式:
左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;
举个例子吧:

举个例子吧:
<?php if ($a<0): ?>
是负数拉
<?php endif; ?>
上面的语句等同于
<?php if ($a<0){ ?>
是负数拉
<?php } ?>

是负数拉

为什么纯PHP代码里面几乎看不到?

这些语法有点不符合C家族的传统有点另类,大家不大习惯于这种语法,而且不是很方便
大家都不习惯,而且这么另类要他有什么用?蛋疼吗?
存在就是合理,它自有它的用处,这些语法能发挥的地方是在PHP和HTML混合页面的代码里面。好处如下:
1.使HTML和PHP混合页面代码更加干净整齐。
有代码洁癖的朋友最惧怕的就是乱七八糟的混合代码,有了这些没有花括号的替代语法,各位爱干净的朋友开心到尿震。
2.流程控制逻辑更清晰,代码更容易阅读
要改别人的PHP和HTML混合代码,打开发现,我擦!太TMD垃圾了!如果用替代语法,我想再垃圾的程序开发人员也不至于写的太乱吧。
3.一些从ASP等其他类basic语言家族转来的朋友,会更容易使用PHP。
讲半天没用的,捞点干的行不?这东西怎么用?
根据之前描述的使用方法,if语句的替代语法使用如下:

<?php if ($a == 5): ?>
<div>等于5</div>
<?php elseif ($a == 6): ?>
<div>等于5</div>
<?php else: ?>
<div>不是5就是6</div>
<?php endif; ?>

while替代语法:

<?php while (expr): ?>
<li>循环点什么</li>
<?php endwhile; ?>

for替代语法:

<?php for (expr1; expr2; expr3): ?>
<li>循环点什么</li>
<?php endfor; ?>

foreach替代语法:

<?php foreach (expr1): ?>
<li>循环点什么</li>
<?php endforeach; ?>

switch替代语法:

<?php
switch ($i):
case 0:
echo “i equals 0″;
break;
case 1:
echo “i equals 1″;
break;
case 2:
echo “i equals 2″;
break;
default:
echo “i is not equal to 0, 1 or 2″;
endswitch;
?>

 

php中获取当天的时间戳可以用mktime,date,today几个函数来相互操作来实现了,下面有简单的几个例子

今天0点表示,方法一:

$today = mktime(0, 0, 0, date('m', time()), date('d', time()), date('Y', time()));

方法二:

strtotime(date('Y-m-d', time());

方法三:

strtotime("today");

如果要获取当时间戳只需要使用$time = time() 即可。

SAE全称是Sina App Engine(简称SAE)是新浪研发中心推出的国内首个公有云计算平台,支持PHP,MySQL,Memcached,Mail,TaskQueue,RDC(关系型数据库集群)等服务,下面我们来看SAE的storage服务用法

今天终于弄懂了sae的storage怎么使用。

这里是sae的storage的概述地址:

http://sae.sina.com.cn/doc/php/storage.html。

因为sae不支持文件权限设置,所有的代码文件都是不可数的。但是sae提供了特别好的一个分布式文件存储服务,用来存放持久文件。其实就是用来存放网站的素材文件,如图片,文件等等的。

所以,当需要存储文件数据的时候,可以使用使用sae。

 

使用sae一共有两种方案。

官方提供的一种方案是:

使用官方的storage类,直接可以进行文件操作,如存放文件,删除文件,修改文件等等。

官方API文档地址:http://apidoc.sinaapp.com/sae/SaeStorage.html

 

还有一种方法是我在sae的应用商店看到的,里面有一个合成的wordpress for sae。

我们可以看到详细的代码,我现在将自己简单的测试代码贴到下面:(只为实现storage,不适用于开发场景)

 代码如下 复制代码
<html>
<body>
 
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
 
</body>
</html>
 
<?php
 
$domain = "test";
$upload_dir = "saestor://" . $domain . "/qiao1/2/3/4/5/";
 
if(!is_dir($upload_dir))
{
 //mkdir($upload_dir , 0777);
}
 
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
 
  }
if(move_uploaded_file($_FILES["file"]["tmp_name"],$upload_dir . $_FILES["file"]['name']))
{
 echo 'ok';
}
 
 
//mkdir($upload_dir . 'qiao' , 0777);
 
?>

我们可以直接使用move_uploaded_file函数将临时文件上传。要注意的是第二个参数$upload_dir=”saestor://” . $domain . “/” . $dir。

其中,$domain就是storage中创建的storage服务名称。$dir就是要存放的目录。

如要将文件存放在saestor://mydomain/dir1/dir2/dir3/下。可以直接使用该url,而不需要使用mkdir函数进行创建,因为stotage已经将该目录自动进行了创建。

这个例子是用于一个简单的应用开发了,意思就是把现在表中的所有数据我们随机读出来一次之后再进行随机保存到另一个表,从而达到了记录随机的功能。

程序代码

 代码如下 复制代码

<?
//数据库连接就不写在这里面了
$s = isset( $_GET['s'] )?$_GET['s']:0;
$e = isset( $_GET['e'])?$_GET['e']:50;
$count =85000;

if( $s < $count )
{
 $sql = "select * from 表前缀_info where isget =0 order by id desc limit $s,$e ";
 $query = mysql_query( $sql );
 while( $rs = mysql_fetch_array( $query ) )
 {
  $id = $rs['id'];
  $sss = $rs['sss'];
  $typeid = $rs['typeid'];
  $isget = $rs['isget'];
  $sql = "insert into 表前缀_info_bak (id,表前缀,typeid,isget) values('$id','$sss','$typeid','$isget')";
  mysql_query( $sql ) ;
  echo $sql;
  //exit;
  $sqlu = "update 表前缀_info set isget=1 where id =".$rs['id'];
  mysql_query( $sqlu );
 }
 echo '<meta http-equiv="refresh" content="0;url=rand.php?s='.($s+50).'&e=50">正在处理数据,当前为'.$s.'条......';
}
else
{
 echo '完成所有数据处理 <a href=rand.php>再随机排序一次</a>';
}
?>

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

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

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • php语言实现redis的客户端

    php语言实现redis的客户端与服务端有一些区别了因为前面介绍过服务端了这里我们来介绍客户端吧,希望文章对各位有帮助。 为了更好的了解redis协议,我们用php来实现...2016-11-25
  • jQuery+jRange实现滑动选取数值范围特效

    有时我们在页面上需要选择数值范围,如购物时选取价格区间,购买主机时自主选取CPU,内存大小配置等,使用直观的滑块条直接选取想要的数值大小即可,无需手动输入数值,操作简单又方便。HTML首先载入jQuery库文件以及jRange相关...2015-03-15
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • JS实现的简洁纵向滑动菜单(滑动门)效果

    本文实例讲述了JS实现的简洁纵向滑动菜单(滑动门)效果。分享给大家供大家参考,具体如下:这是一款纵向布局的CSS+JavaScript滑动门代码,相当简洁的手法来实现,如果对颜色不满意,你可以试着自己修改CSS代码,这个滑动门将每一...2015-10-21
  • 运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)

    今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下...2020-06-30
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • url地址参数里带有?,&等特殊字符怎么办

    在使用url进行参数传递时,经常会传递一些 中文名(或含有特殊字符)的参数或URL地址,在后台处理时会发生转换错误。在有些传递页面使用GB2312,而在接收页面使用UTF8,这样接收到的参 数就可能会与原来发生不一致。使用服务器端的urlEncode函数编码的URL,与使用客户端java的encodeURI函数编码的URL,结果就不 一样。...2014-04-27
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • uni-app使用微信小程序云函数的步骤示例

    这篇文章主要介绍了uni-app使用微信小程序云函数的步骤示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-22
  • jQuery+slidereveal实现的面板滑动侧边展出效果

    我们借助一款jQuery插件:slidereveal.js,可以使用它控制面板左右侧滑出与隐藏等效果,项目地址:https://github.com/nnattawat/slideReveal。如何使用首先在页面中加载jquery库文件和slidereveal.js插件。复制代码 代码如...2015-03-15
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • PHP+jQuery翻板抽奖功能实现

    翻板抽奖的实现流程:前端页面提供6个方块,用数字1-6依次表示6个不同的方块,当抽奖者点击6个方块中的某一块时,方块翻转到背面,显示抽奖中奖信息。看似简单的一个操作过程,却包含着WEB技术的很多知识面,所以本文的读者应该熟...2015-10-21