PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP基础 >> 每日技巧 >> 

6个你可能不知道的php技巧

6个你可能不知道的php技巧

来源:phperz.com  作者:phper  发布时间:2012-05-30
6个你可能不知道的php技巧 翻译的老外的,本人e文不太好,可能有些翻译不准。 Over the years I've come across some useful tricks in PHP that are not obvious, but are worth mentioning. This is not meant to be a comprehensive list of all the useful tricks

6个你可能不知道的php技巧

翻译的老外的,本人e文不太好,可能有些翻译不准。

Over the years I've come across some useful tricks in PHP that are not obvious, but are worth mentioning. This is not meant to be a comprehensive list of all the useful tricks that you can do with PHP.
这些废话就免了。
1. Count Characters in a String
To do this, I've usually just used the function strlen(). However, there is a faster method. Take a look at the following code example:
要做到这一点,我通常使用strlen函数,但这有一个更快的方法。看下面的例子
<?php
$string = 'testing';

if(isset($string[6]))
 echo "The string '$string' is at least 7 characters long.";
else
 echo "The string '$string' is less than 7 characters long.";

You treat the $string value like an array by passing an integer value to isset(). If that number plus one is greater than or equal to the number of characters in the string, it will return true. You need to add one because it is zero based.
大概是说:能过像数组一样,用isset通过下标的方式来调用他,如果返回true则证明他有这样的长度。
笔者注:难道这个技巧就是为了证明字符串也可以像数组一样调用?如果是这样的话,那还不如写成这样,让人看到更明白:
<?php
$a = "abcdefg";
echo $a[3];
//输入d
?>
2. Use PHP Echo like a Function
像函数一样使用echo
I've always thought that if you wanted to concatenate strings with echo, you needed to use periods. But you can actually treat echo like a function and use commas instead (it is also faster). Take a look at the following code:
一般使用echo 输出字符串和变量都用连接符(.)把他们连接起来。但下面这个例子你可以像调用函数一样用","(逗号)的方式像传参数一样调用echo
<?php
$string1 = 'test-string1';
$string2 = 'test-string2';
$string3 = 'test-string3';

echo 'String #1: ', $string1, '<br />';
echo 'String #2: ', $string2, '<br />';
echo 'String #3: ', $string3, '<br />';
3. Use Single Quotes When Possible
尽可能的使用单引号(这个我想大家应概都知道)
By using single quotes instead of double quotes, you save PHP from having to parse your string for variables. It not only is faster, but I find it more programmer-friendly because it is easier to find variables in your code.
Also, when referencing an array that has a string index, always use single quotes. This prevents PHP from having to figure out exactly what you were trying to say.
使用单引号代替双引号,可以减少php解析字符传变量。他不仅速度快,更多的是对程序员友好,易读。
另外在使用数组的字符传索引时也要用单引号,理由同上

4. PHP Variable Variables
There have been several cases when I needed to access a dynamic variable (where the variable name changed). You can do this easily in PHP by using what is called Variable Variables. Take a look at this example:
不太明白他想表达的是什么。可变变量的优点还是缺点?
<?php
$var1 = 'nameOfVariable';
$nameOfVariable = 'This is the value I want!!!';

echo $$var1;

5. Use Arrays in Form Fields
在表单表中使用数组,特别是在用多选框时(老调牙的东西,不翻译了,估计phper都知道)
Not only can you create a form field that creates an element in an array (like name['firstname'] ), but you can create dynamic arrays as well. This is especially useful in checkboxes, where the user could check multiple options. Take a look at this HTML:
<label><input type="checkbox" name="hobbies[]" value="Sports" /> Sports</label><br />
<label><input type="checkbox" name="hobbies[]" value="Hiking" /> Hiking</label><br />
<label><input type="checkbox" name="hobbies[]" value="Swimming" /> Swimming</label><br />
<label><input type="checkbox" name="hobbies[]" value="Swimming" /> Watching Movies</label><br />
When the above fields are posted to a PHP page, each hobby is added to the hobbies array. You can then loop through that array and access each value that was checked.

6. PHP Output Buffering
使用php的缓冲输出,ob_start和ob_end嘛,生成静态都需要用到。也不翻译了。
I have come across cases where something was being output to the screen that I didn't want (at least at that point, or maybe not at all).
A common example of this is if you have a function or a script that echoes out a string, but you are using the code in that instance where you don't want it to print to the screen at that point (when using a template system or framework system, for example). In this case you would still want to be able to reuse the code, but just prevent anything from being printed out at that exact point.
This will make more sense if you look at this simple example:
<?php
ob_start();

echo 'Print to the screen!!!';
$getContent = ob_get_contents();

ob_end_clean();

// Do whatever you want...

// Do something with the printed content (only if you want)...
echo 'Now: ' . $getContent;
You probably were familiar with at least some of these, but I hope that someone will find this list useful in some capacity. :)


延伸阅读:
html中select语句读取mysql表中内容_PHP技巧
关于Php后门的隐藏技巧测试
PHP安全基础 注射基础经验技巧汇总篇
PHP应用技巧七则
php数组技巧二则
例举PHP语言中的精华与技巧
PHP中常用的函数库和一些小技巧
php数组应用技巧
有效防御PHP木马攻击的技巧(Linux服务器管理员必看)
php技巧:ini_get的用法
PHP正则表达式的几则使用技巧
php中fread()函数使用技巧
54点PHP编程技巧提升你的程序执行效率
php时间函数使用技巧
PHP中JSON技巧讲解
让PHP开发者事半功倍的十大技巧
提高PHP执行效率的53个技巧
CakePHP程序员必须知道的21条技巧
php技巧使用flock函数锁定文件
PHP程序员易忽略的PHP精华和技巧
Tags: php技巧   技巧  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号