博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php 有意思的小题
阅读量:6585 次
发布时间:2019-06-24

本文共 1117 字,大约阅读时间需要 3 分钟。

/**

* 你的是一个数字和一个字符串进行比较,PHP会把字符串转换成数字再进行比较。

* PHP转换的规则的是:若字符串以数字开头,则取开头数字作为转换结果,若无则输出0。
*
**/
1)$a =”abc”;
if($a==0){
echo “等于0”;
}else{
echo “不等于0”;
}

//输出结果是0;

2)$num1 = ‘1’;

$num2 = ‘a1’;
echo $num1 + $num2;

//结果输出1;

//这里,数字与字符相加,PHP会把字符串转换成数字再进行比较。字符串开头没有数字就输出0。1+0=1

3)

//有括号,先解析括号

$a =10;
$a=$a+(++$a)+($a++)+($a);echo “<br>”;
//$a=$a+(++$a)+($a++)+(++$a);
//10  11  11  13
var_dump($a); //结果输出45

4)最霸道的题来了

static $a=1;

$a++;
var_dump($a); //echo 3

static $a=2;

$a++;
var_dump($a);//echo 4

//php底层源码分析

 

5)count();           统计数组的位数

echo count(‘567wefdfsdfasdaSaF’);   //echo  1

echo count(null);                                  //echo  0
echo count(false);                                 //echo  1

 

6) 

 $a = 0123;

 echo $a;

 

结果返回的是:83;

原因是 int类型的变量,如果是以0开始,就会把这个变量当成八进制来解析;
八进制的0123转换为十进制 恰恰为 83;

 

7)

function myfunc($a){ echo $a + 10; } $val = 10; echo "myfunc($val)=".myfunc($val); //20myfunc(10)

//分析:

这道面试题主要是考察执行顺序,具体解答过程如下:

a.echo "myfunc($val)=";
单独这样的时候,输出结果为:myfunc(10)= ,说明双引号中只不解析函数,只解析变量
b.echo "myfunc($val)=".myfunc($val);
拼接上后面的函数后,结果为:20myfunc(10)= ,说明后面的函数先执行输出了20。然后执行了echo语句。

总结:第一步执行后面的函数输出了20,然后在执行echo语句。故结果为:20myfunc(10)=

 

转载于:https://www.cnblogs.com/xiaotaoing/p/6687415.html

你可能感兴趣的文章
最优化问题中黄金分割法的代码
查看>>
在JS中使用Ajax
查看>>
Jolt大奖获奖图书
查看>>
ubuntu 16.04 安装PhpMyAdmin
查看>>
设置分录行按钮监听事件
查看>>
23种设计模式(1):单例模式
查看>>
socket 编程入门教程(五)UDP原理:4、“有连接”的UDP
查看>>
Jquery获取iframe中的元素
查看>>
Laravel 学习笔记5.3之 Query Builder 源码解析(下)
查看>>
Struts2简单入门实例
查看>>
2012CSDN年度博客之星评选http://vote.blog.csdn.net/item/blogstar/xyz_lmn
查看>>
BZOJ 4037 [HAOI2015]数字串拆分 ——动态规划
查看>>
SpringBoot实战总汇--详解
查看>>
2018年7月1日笔记
查看>>
尝试使用iReport4.7(基于Ubuntu Desktop 12.04 LTS)
查看>>
子元素应该margin-top为何会影响父元素【转】
查看>>
AJAX 状态值(readyState)与状态码(status)详解
查看>>
BZOJ3668:[NOI2014]起床困难综合症(贪心)
查看>>
LightOJ 1245(Harmonic Number (II))
查看>>
小知识记录
查看>>