php怎么只显示日期,wordpress怎么新建一个页面?
首先需要说明的一点是,如果你在网站页面中点击了分类页面,那么wordpress首先会自动寻找category-X.php文件,其中的X代表分类页面的ID,比如在飞鱼的声纳,category-44.php代表的就是有关时间管理的分类页面,要查看分类页面的ID号,你可以将鼠标放置于分类列表上,在浏览器的左下角就能看到类似于
的链接,其中的数字44就是此分类页面的ID。如果在你的wordpress主题文件夹中不存在category-X.php文件,那么wordpress就会寻找category.php文件,如果category.php文件也不存在,它就会寻找archive.php文件,如果archive.php文件依然不存在,wordpress就会接下来寻找index.php文件,这个文件肯定是有的,要不然wordpress主题也就不能成为主题了。一般来说,设计者所设计的wordpress主题中,至少包括index.php文件和archive.php文件。
PHP数组任意位置插入任意元素?
引言
本文我们聊一聊 PHP 数组,如何在任意位置插入新元素。因为内置函数并没有提供类似 array_insert(&$array, $pos, $items) 的函数,所以我们试着动手解决。
学习时间标准的实现方法,是要用 array_splice,该函数的用法:
array array_splice( array &$input, int $offset[, int $length = 0[, mixed $replacement]] )
把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用其中的单元取代。
下面是举例说明:
$original = array( 'a', 'b', 'c', 'd', 'e' ); $inserted = array( 'x' ); // $inserted 并不必须是数组 array_splice( $original, 3, 0, $inserted ); // 在索引 3 位置插入 // $original 内容为 a b c x d e
有几个关键点大家需要注意,灵活运用 $offset, $length, $replacement 三个参数,可以组装成强大的功能。
对于偏移位置 $offset:
如果 offset 为正,则从 input 数组中该值指定的偏移量开始移除。如果 offset 为负,则从 input 末尾倒数该值指定的偏移量开始移除。对于替换的长度 $length:
如果省略 length,则移除数组中从 offset 到结尾的所有部分。如果指定了 length 并且为正值,则移除这么多单元。如果指定了 length并且为负值,则移除从 offset 到数组末尾倒数length 为止中间所有的单元。在编程中,当给出了replacement 时要移除从 offset 到数组末尾所有单元时,用 count($input) 作为 length。比如像下面这个示例:
$input = array("red", "green", "blue", "yellow"); array_splice($input, 1, count($input), "orange"); // $input = array("red", "orange")
特别需要注意的是 $replacement 参数:
如果给出了 replacement 数组,则被移除的单元被此数组中的单元替代。如果 offset 和 length 的组合结果是不会移除任何值,则 replacement 数组中的单元将被插入到 offset 指定的位置。 注意替换数组中的键名不保留。如果用来替换 replacement 只有一个单元,那么不需要给它加上array(),除非该单元本身就是一个数组、一个对象或者 NULL。亲手造轮子上一节的解决方案堪称标准。有些同学还是要忍不住造轮子。“条条大道通罗马”,肯定有不止一种方式实现需求。下面是另外一种方式:
$a = array(1, 2, 3, 4); $b = array_merge(array_slice($a, 0, 2), array(5), array_slice($a, 2)); // $b = array(1, 2, 5, 3, 4)
使用 array_slice 函数对原数组切片,一分为二,然后使用 array_merge 拼接3个部分。完美!
上面的代码,在使用 array_merge 后悔丢失原数组的索引关系。如果要保留,使用 + 连接:
$b = array_slice($a, 0, 2) + array(5) + array_slice($a, 2);
这样就可以了。
换汤不换药,如果给类添加一个方法,或者添加一个助手函数,自然是极好的。下面是封装函数。
function array_insert(&$array, $value, $index) { return $array = array_merge(array_splice($array, max(0, $index 1)), array($value), $array); }
写在最后本文介绍了一个功能丰富的 array_splice 函数,让大家领略了参数的灵活运用所带来的便捷。如果你经常需要这样的操作,麻溜地写到全局助手函数里吧。
Happy coding :_)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
PHP获取当前日期所在星期?
代码如下: // 获取指定日期所在星期的开始时间与结束时间 function getWeekRange($date){ $ret=array(); $timestamp=strtotime($date); $w=strftime('%u',$timestamp); $ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)*86400); $ret['edate']=date('Y-m-d 23:59:59',$timestamp+(7-$w)*86400); return $ret; } // 获取指定日期所在月的开始日期与结束日期 function getMonthRange($date){ $ret=array(); $timestamp=strtotime($date); $mdays=date('t',$timestamp); $ret['sdate']=date('Y-m-1 00:00:00',$timestamp); $ret['edate']=date('Y-m-'.$mdays.' 23:59:59',$timestamp); return $ret; } // 以上两个函数的应用 function getFilter($n){ $ret=array(); switch($n){ case 1:// 昨天 $ret['sdate']=date('Y-m-d 00:00:00',strtotime('-1 day')); $ret['edate']=date('Y-m-d 23:59:59',strtotime('-1 day')); break; case 2://本星期 $ret=getWeekRange(date('Y-m-d')); break; case 3://上一个星期 $strDate=date('Y-m-d',strtotime('-1 week')); $ret=getWeekRange($strDate); break; case 4: //上上星期 $strDate=date('Y-m-d',strtotime('-2 week')); $ret=getWeekRange($strDate); break; case 5: //本月 $ret=getMonthRange(date('Y-m-d')); break; case 6://上月 $strDate=date('Y-m-d',strtotime('-1 month')); $ret=getMonthRange($strDate); break; } return $ret; }
如何正确学习php?
对于初学者,大家都需要一套比较完整并且有趣的学习教程,所以小编整理了一套完整并且有趣的学习教程,希望可以帮助到初学者。跟着这套教程学习,肯定可以从入门到精通。
第一阶段:推荐视频:PHP基础视频_html+css+js
javascript+jQuery
html+css+bootstrap
Php轻松入门视频
第二阶段:推荐视频:6天玩转MySQL
PHP核心编程视频教程
第三阶段:推荐视频:基于PHP面向对象的自定义MVC框架高级项目开发
Smarty入门视频课程免费分享
第四阶段:推荐视频:SVN视频教程无偿分享
2017XML视频教程
2017AJAX系列视频教程
ThinkPHP开发框架2016版
2016最新Linux系列视频教程免费分享
第五阶段推荐视频:NoSQL之Redis技术
PHP微信接口开发
mongodb实操视频
第六阶段:推荐视频:珍贵HyBrid App视频免费分享
2016基于laravel框架app软件开发
以上就是一些自学的经验和视频了,楼主可以看一下哦!
php程序员一天一般写多少行代码啊?
如果是纯写,没有可拷贝和利用的源代码的话,一个小时写30-50行代码比较正常,评价代码质量一般按千行BUG数,这样的速度写出来的第一版程序千行BUG数20以上为较差,10-20一般,5-10良好,5个以下就优秀了。 如果加上单元测试的话,以上时间加倍即可。