php程序员面试题第二季

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


除非注明,文章均为史亚永原创,欢迎转载!转载请注明本文地址,谢谢。

本文地址:http://www.shiyayong.cn/post/121.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值