PHP面试题之访问控制
代码如下 | 复制代码 |
class Foo { private $name = 'hdj'; public function getName(){ return $this->name; } } class Bar extends Foo { public $name = 'deeka'; } $bar = new Bar; var_dump($bar->name); var_dump($bar->getName()); |
代码如下 | 复制代码 |
结果如下: 第一种情况 1)键名 |
为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)
2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值
注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引
1.php中时间转换函数
strtotime
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
语法
strtotime(time,now)
例
代码如下 | 复制代码 |
strtotime(“today”) |
date
PHP Date() 函数可把时间戳格式化为可读性更好的日期和时间。
语法
date(format,timestamp)
例
代码如下 | 复制代码 |
<?php |
把时间戳转换日期
代码如下 | 复制代码 |
date("Y-m-d H:i",$unixtime) |
2.php中获得今天零点的时间戳
要获得零点的unix时间戳,可以使用$todaytime=strtotime(“today”),
然后再使用date("Y-m-d H:i",$todaytime)转换为日期。
3.php中时间戳转换为日期,并按照时间显示不同的内容,如刚刚,分钟前,小时前,今天,昨天等
/*时间转换函数*/
代码如下 | 复制代码 |
function transTime($ustime) { $ytime = date("Y-m-d H:i",$ustime); $rtime = date("n月j日 H:i",$ustime); $htime = date("H:i",$ustime); $time = time() - $ustime; $todaytime = strtotime("today"); $time1 = time() - $todaytime; if($time < 60){ $str = '刚刚'; }else if($time < 60 * 60){ $min = floor($time/60); $str = $min.'分钟前'; }else if($time < $time1){ $str = '今天 '.$htime; }else{ $str = $rtime; } return $str; } |
在这个函数中你可以添加更多的比较使显示的日期更加具体,比如添加 秒钟前,前天等更具体的日期。
4.php日期中补0与不补0
echo date('Y-m-d'); 显示2012-08-08
echo date('Y-n-j'); 显示2012-8-8
本文章来介绍PHP date()与time()获取时间与本地时间不一致解决办法,有需要的可参考参考解决办法在程序中加入
在页头使用
代码如下 | 复制代码 |
date_default_timezone_set()设置我的默认时区为北京时间 第一种解决方法: |
在程序中设置默认时区。
代码如下 | 复制代码 |
date_default_timezone_set('PRC'); //设置本地时区 |
第二种解决方法:
修改php.ini,将“date.timezone”项修改为“date.timezone = PRC”
大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为重庆,上海,乌鲁木齐)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
其他可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC
注:PRC是中华人民共和国
php数组运算符
$a + $b 联合 $a 和 $b 的联合。
$a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE。
$a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。
$a != $b 不等 如果 $a 不等于 $b 则为 TRUE。
$a <> $b 不等 如果 $a 不等于 $b 则为 TRUE。
$a !== $b 不全等 如果 $a 不全等于 $b 则为 TRUE。
PHP 仅有的一个数组运算符是 + 运算符。它把右边的数组附加到左边的数组后,但是重复的键值不会被覆盖。
代码如下 | 复制代码 |
$a = array("a" => "apple", "b" => "banana"); $c = $a + $b; var_dump($c); |
执行后,此脚本会显示:
代码如下 | 复制代码 |
array(3) { |
数组中的单元如果具有相同的键名和值则比较时相等。
Example #1 比较数组
代码如下 | 复制代码 |
<?php var_dump($a == $b); // bool(true) |
字符串运算符
有两个字符串运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后
代码如下 | 复制代码 |
<?php echo "thr"."ee"; //prints the string "three" ?> |
例
代码如下 | 复制代码 |
<?php $a = '12345'; // This works: // Does not work: ?> |
逻辑运算符
下表逻辑运算符举例
$a and $b And(逻辑与) TRUE ,如果 $a 与 $b 都为 TRUE 。
$a or $b Or(逻辑或) TRUE ,如果 $a 或 $b 任一为 TRUE 。
$a xor $b Xor(逻辑异或) TRUE ,如果 $a 或 $b 任一为 TRUE ,但不同时是。
! $a Not(逻辑非) TRUE ,如果 $a 不为 TRUE 。
$a && $b And(逻辑与) TRUE ,如果 $a 与 $b 都为 TRUE 。
$a || $b Or(逻辑或) TRUE ,如果 $a 或 $b 任一为 TRUE 。
“与”和“或”有两种不同形式运算符的原因是它们操作的优先级不同。
例
代码如下 | 复制代码 |
<?php ($a = $_GET['var']) || ($a = 'a default'); ?> |
例
代码如下 | 复制代码 |
<?php // 下面的 foo() 不会被调用,因为它们被运算符“短路”了。 // "||" 的优先级比 "or" 高 // "&&" 的优先级比 "and" 高 |
以上例程的输出类似于:
bool(true)
bool(false)
bool(false)
bool(true)
相关文章
详解SpringBoot之访问静态资源(webapp...)
这篇文章主要介绍了详解SpringBoot之访问静态资源(webapp...),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-09-14- 这篇文章主要给大家介绍了7道关于JS this的面试题,来看看你能答对几个,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-05
- 这篇文章主要介绍了mysql5.7 设置远程访问的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-08
- 这篇文章主要介绍了vue设置全局访问接口API地址操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-14
- 这篇文章主要为大家详细介绍了C#访问共享文件夹或者磁盘,需要用户名密码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 这篇文章主要为大家详细介绍了C#访问网络共享文件夹的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 这篇文章主要介绍了docker端口映射及外部无法访问问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-19
- js判断手机或者PC的例子我们在几乎所有网站都会有这段代码了,现在手机流量与pc差不多了,下面来看两段js判断手机或者PC例子吧...2015-12-17
- 这篇文章主要介绍了Nginx访问日志及错误日志参数说明,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-14
- Redis 是一个高性能的key-value数据库。在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端使用很方便...2021-06-17
- 这篇文章主要介绍了jQuery 跨域访问解决原理案例详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-07-25
php中$_SERVER['HTTP_USER_AGENT']判断是否为手机访问网站
HTTP_USER_AGENT是获取用户浏览器信息的一个全局变量,我们可以利用HTTP_USER_AGENT获取的值来判断用户是手机浏览器还是电脑访问网。 代码如下 复制代码...2016-11-25- 今天想把我的音乐里面500首的mp3都拷到手机里,不过这些mp3都有很多层目录,而且每首歌曲都还有歌词文件,我只想留下mp3,歌词文件都删掉,就写了个小程序跑一下,比手动删快多了...2020-06-25
web面试MVC与MVVM区别及Vue为什么不完全遵守MVVM解答
这篇文章主要介绍了web面试中常问问题,MVC与MVVM区别以及Vue为什么不完全遵守MVVM的难点解答,有需要的朋友可以借鉴参考下,希望能够有所帮助...2021-09-24- 今天刚弄了个相关的VPS,因为是临时使用所以没有对系统进行太多的配置,用了它自带的Apache和PHP。但是在配置Apache的时候使用IP总是可以直接访问到Apache的测试页面。于是屏蔽...2016-01-28
- 这篇文章主要解答了“60k”大佬的19道C#面试题中的10道,文中的面试题比较小众,作者给了不错的答案,相信对你以后的面试有所帮助,感兴趣就来了解下...2020-06-25
- 这篇文章主要介绍了PostgreSQL数据库中跨库访问解决方案,需要的朋友可以参考下...2020-07-11
- 下面小编就为大家分享一篇C#访问C++动态分配的数组指针(实例讲解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
- 这篇文章主要介绍了Vue项目配置跨域访问和代理proxy设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-08
- 本篇文章为大家介绍一下完美解决beego 根目录不能访问静态文件的问题,很不错哦,有需要的朋友就来参考一下吧。 beego可算是Go框架里面文档最多的了。学起来比较容易...2017-07-06