tla 遍历目录 phpstudy ech key -c clas handle
1、数组$a = array(‘a‘=>‘a‘,‘b‘=>‘b‘,‘c‘=>‘c‘),如何将array(‘d’=>‘d‘)快速插入 a 和 b 之间?
- function wpjam_array_push($array, $data=null, $key=false){
- $data = (array)$data;
- $offset = ($key===false)?false:array_search($key, array_keys($array));
- $offset = ($offset)?$offset:false;
- if($offset){
- return array_merge(
- array_slice($array, 0, $offset),
- $data,
- array_slice($array, $offset)
- );
- }else{ // 没指定 $key 或者找不到,就直接加到末尾
- return array_merge($array, $data);
- }
- }
- $data = array("d"=>‘d‘);
- $b = wpjam_array_push($a,$data,"b");
- print_r($b);
2、写一个遍历目录下所有文件以及子目录的函数
- function my_scandir($dir) {
- $files = array();
- if ($handle = opendir($dir)) {
- while (($file = readdir($handle)) !== false) {
- if ($file != ".." && $file != ".") {
- if (is_dir($dir."/".$file)) {
- $files[$file] = scandir($dir."/".$file);
- } else {
- $files[] = $file;
- }
- }
- }
- closedir($handle);
- return $files;
- }
- }
- $files = my_scandir(‘E: \PhpStudy\WWW\12_twleve_month\8 - 2‘);
- echo "<pre>";
- print_r($files);
3、用php实现一个双向队列。
队列是一种线性表,按照先进先出的原则进行
单向队列:只能从头进,从尾出
双向队列:头尾都可以进出
- class DuiLie {
- private $array = array();//声明空数组
- public function setFirst($item){
- return array_unshift($this->array,$item);//头入列
- }
- public function delFirst(){
- return array_shift($this->array);//头出列
- }
- public function setLast($item){
- return array_push($this->array,$item);//尾入列
- }
- public function delLast(){
- return array_pop($this->array,$item);//尾出列
- }
- public function show(){
- var_dump($this->array);//打印数组
- }
- public function Del(){
- unset($this->array);//清空数组
- }
- }
php 常见面试题(3)
来源: http://www.bubuko.com/infodetail-2283471.html