php 常见面试题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 常见面试题相关的知识,希望对你有一定的参考价值。
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 常见面试题的主要内容,如果未能解决你的问题,请参考以下文章