6、如何实现字符串翻转?
可用内置函数strrev。如果不准用PHP内置函数的就自己写:
1
|
Hello->olleH
|
7、
1
2
3
4
|
$a
=
"hello"
;
$b
= &
$a
;
unset(
$b
);
$b
=
"world"
;
|
what is $a?
此题的目的是要深刻理解引用。
通常,在将一个变量的值赋给另外一个变量的时候,先产生原变量的一个副本,然后再将它保存在内存的其他地方。如:
1
2
|
$a
= 5;
$b
=
$a
;
|
首先产生$a的一个副本,然后再将它保存到$b中。如果随后改变$a的值,$b的值不会改变:
1
|
$a
= 7;
//这时$b仍然是5
|
可以使用引用操作符&来避免这样的副本。如:
1
2
3
|
$a
= 5;
$b
= &
$a
;
$b
= 7;
//这时$a和$b都会是7。 这行也可以换成$b = 7;
|
引用是非常有趣的。请记住,引用就像一个别名,而不是一个指针。$a和$b都指向了内存的相同地址。可以通过重置它们来改变所指向的地址。如下所示:
1
|
unset(
$a
);
|
重置并不会改变$b的值,但是只可以破坏$a和值7保存在内存中的连接。
可以搜索: 引用 site:php.net 进一步深入了解PHP的引用。
也可以直接访问这个页面:http://www.php.net/manual/zh/language.references.php
http://www.php.net/manual/zh/language.references.unset.php
当 unset 一个引用,只是断开了变量名和变量内容之间的绑定。这并不意味着变量内容被销毁了。例如:
1
2
3
4
5
|
<?php
$a
= 1;
$b
=&
$a
;
unset(
$a
);
?>
|
不会 unset $b,只是 $a。
8、实现中文字串截取无乱码的方法。
a.可以用正则
b.用mb_substr()
9、
1
2
3
|
$a
= 1;
$x
= &
$a
;
$b
=
$a
++;
|
what is $b? $x?
10、
1
2
|
$array
=
array
();
$x
=
empty
(
$array
);
|
what is $x? true or false
什么样的内容为空?
empty()、isset()、is_null
除非注明,文章均为史亚永原创,欢迎转载!转载请注明本文地址,谢谢。