首页 存档 技术 查看内容

php面试经典问题

2018-3-30 13:00 |来自: 互联网 282 0

摘要: 原文出处:Toptal译文出处:JackPu Q1 第一个问题关于弱类型 PHP 1 2 3 4 5 6 7 $str1 = 'yabadabadoo'; $str2 = 'yaba'; if (strpos($str1,$str2)) { echo """ . $str1 . "" contains "" . $ ...

原文出处:Toptal译文出处:JackPu

Q1


第一个问题关于弱类型

PHP

1

2

3

4

5

6

7

$str1 = 'yabadabadoo';

$str2 = 'yaba';

if (strpos($str1,$str2)) {

echo "\"" . $str1 . "\" contains \"" . $str2 . "\"";

} else {

echo "\"" . $str1 . "\" does not contain \"" . $str2 . "\"";

}

正确运行的输出结果:

PHP

1

"yabadabadoo" does not contain "yaba"

strpos是返回字符串str2str1的位置,没有找到则返回false然而实际上这次返回了0而在if语句中0也被当作false,所以我们需要对false做类型判断,正确的代码如下:

PHP

1

2

3

4

5

6

7

$str1 = 'yabadabadoo';

$str2 = 'yaba';

if (strpos($str1,$str2) !== false) {

echo "\"" . $str1 . "\" contains \"" . $str2 . "\"";

} else {

echo "\"" . $str1 . "\" does not contain \"" . $str2 . "\"";

}

需要注意的是我们使用了!==,在php 和 JS中= !相对== 更为严格需要要求数据类型一致。

Q2


下面的输出结果会是怎样?

PHP

1

2

3

4

5

6

7

8

9

10

$x = 5;

echo $x;

echo "

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类