使用PHP制作动态网页过程中的五个技巧

1. str_replace

str_replace是常用的php函数,用于字符串替换,经常看到某些php新人为了替换一批字符串,写了好多行str_replace,实在是惨不忍睹。

比如这个例子:

PHP:

$str = '某人的栖息地 --- www.webjx.com';
$str = str_replace('某人', '坏人', $str);
$str = str_replace('的', 'di', $str);
$str = str_replace('栖息地', '猪窝窝', $str);
$str = str_replace('www.webjx.com', 'webjx.com', $str);

以上,替换了4次字符串,实际只要换个写法,一行就搞定了:

$str = '某人的栖息地 --- www.webjx.com';
$str = str_replace(array('某人', '的', '栖息地', 'www.webjx.com'), array('坏人', 'di', '猪窝窝', 'webjx.com'), $str);

2. array

经常看到有人拿数组这样写:echo $arr[some_key];

上面这行代码能跑,看上去也没什么大问题,但是如果你把php.ini的error notice打开的话,会收到一大批error。php解析器首先是拿“some_key”当作一个常量来解释的,但如果没有定义some_key这样一个常量,解析器还是很宽容的把它当作了一个字符串来看待。因此新人同学们最好写完整一点:

echo $arr['some_key'];这样就没有问题了,如果你要把它放在双引号中连用,也不能省掉引号,可以这样写:echo "这是混在双引号中的字符串{$arr['some_key']}";

3. 类型戏法

类型戏法相当好用,比如有一个表单提交过来的变量,正常情况下它应该是整型的,有时候偷懒省去校验的写法可以是这样的:

$intVar = (int)$_POST['post_var'];

再比如数组,有时候写键值要打引号是不是很不爽啊,我们可以把它转换成object,比如:

$arr = array('name' => 'volcano', 'sex' => 'male');
$arr = (object)$arr;
echo $arr->name;
echo $arr->sex; 是不是很省事?

4. lambda函数

lamda函数和array_*系列函数使用有奇效,拿php手册上的一个例子来说:

PHP:

<?php
   $av = array("the ", "a ", "that ", "this ");
   array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
  print_r($av);
?>

至少省了一个for循环

5. 嵌套循环显示表格的单元格

嵌套循环显示表格的单元格,这是一个很老的话题哦,往往会要在某个单元格后边加个条件判断什么的,考虑是不是要输出tr抑或是td标签。

俺这里介绍一个办法,利用array_chunk函数能够比较工整的输出html,见下例,这个例子要输出一个4行6列的表格:

<?php
$arr = range(1, 24); //这个会生成一个数组array(1,2,3,4....24)
$arr = array_chunk($arr, 6);
// output table
?>
<table>
<?php foreach($arr as $row): ?>
<tr>
  <?php foreach($row as $col):?>
  <td><?php echo $col?></td>
  <?php endforeach;?>
</tr>
<?php endforeach;?>
</table>

时间: 2024-12-03 13:25:44

使用PHP制作动态网页过程中的五个技巧的相关文章

高手进阶:用FrontPage2000制作动态网页

frontpage|动态|网页 DHTML是动态网页的意思,它其实并不是一个标准的术语.事实上没有一种技术叫作DHTML.DHTML是利用CSS(层叠样式表),JavaScript,HTML等技术而建立的能与访问者产生互动的网页.比如在动态网页里,当访问者单击了某一张图片后,这张图片会自动的移动,这就是DHTML效果.也就是说,当网页下载完毕后,它无需再与服务器连接就能产生变化了.FrontPage2000提供了一套容易制作动态网页的方法,你可以建立起属于自己特色的动态网页. 使用DHTML的基

如何在Flash制作动态网页?

  SWF动画文件中的图像.声音.文字和动画等都是固化在其中的,所以新的问题又出现了,就是如何在SWF文件中实现动态数据的显示?可用Flash中的FS Command来实现.以下,是如何在Flash制作动态网页 的具体操作步骤,希望对大家有所帮助! 进入 Flash 4.0,新建一个文件或打开一个已经做好的Flash页面.选择Insert/layer,新建一个层.确认新层为当前层后,用矩形工具画一无边框线的蓝色长方形(大小约为100px×120px)作为底色.再选择Text(文本)工具,设置字体

用jsp+servlet制作动态网页

问题描述 用jsp+servlet制作动态网页 有哪位大神有做过Discuz论坛吗用jsp................................... 解决方案 Discuz论坛用的是php 不过你可以google下找到很多jsp的论坛代码. 解决方案二: JSP , Servlet 和动态网页. 1. 使用Servlet 可以产生动态网页,但是需要在代码中打印输出很多HTML的标签. ??? ->即,将静态显示的内容和动态产生的内容全部放到代码中. 2. 在静态的网页文件中嵌入脚本代

网页设计中文本排版的技巧和细节

网站的核心是内容,用户访问网站最重要的目的就是要看网站的正文,所以,网页的文本排版非常重要. 网页的文本排版并不是仅仅在CSS里设置个字体大小那么简单的,想要有好的排版,对细节要下一番功夫才行. 字体大小与行距 在早期的网页设计中,设计师为了追求中文字体的最佳视觉效果,经常使用12px像素的字号.其实在现在看来,网站内容页面用这么小的文字是不可取的,小字体的可读性很差,没有多少人愿意非常费力的盯着屏幕去辨识那些小字.应该说,将文字的字号设置成14px或者更大的16px会更加合理,浏览者阅读起来也

JSP动态网页程序中处理中文乱码的研究

js|程序|动态|网页|中文|中文乱码 在jsp中,中文乱码常会让人心乱如麻.  对于 中文处理的常见对策,在网上经常可见的主要是下面2种: <%@ page contentType="text/html;charset=gb2312" %> 或者: <% String Hi="你好"; byte[] tmpbyte=Hi.getBytes("ISO8859_1"); Hi=new String(tmpbyte); out.pr

动态网页PHP中引用&amp;的使用注意事项

之前一个朋友的帖子提到过这方面的疑问,这里简单整理一下,希望能让更多新学php的朋友得到帮助. php的引用(就是在变量或者函数.对象等前面加上&符号)是个高级话题,新手多注意,正确的理解php的引用很重要,对性能有较大影响,而且理解错误可能导致程序错误! 很多人误解php中的引用跟C当中的指针一样,事实上并非如此,而且很大差别.C语言中的指针除了在数组传递过程中不用显式申明外,其他都需要使用*进行定义,而php中对于地址的指向(类似指针)功能不是由用户自己来实现的,是由Zend核心实现的,ph

ASP动态网页开发中的WEB打印代码大全

web|web打印|动态|网页 这篇文章主要介绍了如何使用ASP控制Web的各种打印效果,它能够控制纵打.横打和页面边距等. 1.控制"纵打"."横打"和"页面的边距". (1) <scriptdefer> functionSetPrintSettings(){ //--advancedfeatures factory.printing.SetMarginMeasure(2)//measuremarginsininches facto

在网页设计中对称手法使用技巧

文章描述:在网页设计中,对称/不对称的有效运用可以达到非常与众不同的效果. 在设计中,对称创造了平衡,平衡了创造和谐.秩序和审美.自然界中对称无处不在,也许正是这种无处不在的状态让我们发现对称的美.形态学的基本原则之一就是对称,它是一套人类形为理论,形态学认为人类对看到和遇到的事物本能的产生出秩序和完整性. However, symmetry can get boring. Asymmetry is a break in symmetry, which when used effectively

网页制作软件FrontPage XP的使用五则技巧

frontpage|技巧|网页 最近笔者学会了用FrontPage XP做网页,心理特高兴,非常想把我在制作主页过程中的一些经验和大家交流交流.切磋切磋,我们一起来看看吧. 用表格做按钮 很多人为了做出按钮效果,不得不去动用一些图像或动画制作工具,非常麻烦,事实上,利用FrontPage XP的表格功能,你可以轻松地做出按钮效果来.方法是:插入一个一行一列的表格,然后设置它的表格属性,将单元格边距和单元格间距均设为"0",亮边框设为白色,暗边框设为黑色,然后把边框的粗细设置为一个较大的