Archive for the ‘笔记’ Category

for循环的特殊用法

Saturday, June 9th, 2007

在手册上发现了下面的代码

for ($i = 1; $i <= 10; echo $i , $i++);

但是运行之后提示语法错误, 后来在论坛发帖得知是由于echo 并不是一个函数,换成print就可以正常运行了

for ($i = 1; $i <= 10; print $i , $i++);

但是这段代码好象除了重复执行某条命令之外并没有什么其他的特殊功能了,如果想精简代码的话的确值得用一用,但是要注意程序的可读性.

变量的函数和变量的变量

Friday, June 8th, 2007

变量的函数和变量的变量

$$var;

$func_name();

php还可以这么写

Friday, June 8th, 2007

for ($i = 1; ; $i++) :
if ($i > 10) :
break;
endif;
echo $i;
endfor;

用for来实现的一个无限循环,用:和end…;代替了{和}.详细的可以参考PHP5中文手册中 流程控制的替代语法 小节.

执行运算符

Friday, June 8th, 2007

刚刚开到了执行运算符这里,应该算是个很独特的运算符吧,可以将反引号中的内容作为外壳命令来执行,并将其输出信息返回

什么是外壳命令我还不太懂,应该和操作系统有关系,我只在windows下的php环境中做了测试,代码如下

[php]<?

$output = `dir d:\`;
echo "<pre>$output</pre>";

?>[/php]

成功的输出了D:下的所有目录.

: 反引号运算符在激活了 安全模式 或者关闭了 shell_exec() 时是无效的。

用偏移量来访问字符串.

Friday, June 8th, 2007

究竟什么是偏移量我也不太懂,不过感觉这种方式象是c语言中字符串的处理方式.

不过说废话,先上代码

<?
$a=”abcde”;
$a[0] = “f”;
echo “$a = $a”;//$a = fbcde
echo “<br>”;
echo “$a[0] = $a[0]“;//$a = f
?>

这里以类似数组的方式来访问了字符串中的字符,但是切记,这和数组完全是两个概念.

再看段代码

<?
$c = null;
$c[0] = “a”;
$c[1] = “b”;
echo “$c is a  $c”;//$c is a Array
echo “<br />”;
echo “$c = “;
print_r($c);
?>

也就是说有了字符串才有这种访问方式,但是用这种方式不能定义字符串.

为了更好的和数组进行区别php还提供了另外一种访问方式,

<?
$b=”abcde”;
$b{1} = “f”;
echo “$b = $b”;//afcde
echo “<br>”;
echo “$b{1} = “.$b{1};
echo “<br>”;
?>